Metody řetězců JavaScriptu
Řetězcové metody vám pomohou pracovat s řetězci.
Metody a vlastnosti řetězců
Primitivní hodnoty, jako je "John Doe", nemohou mít vlastnosti ani metody (protože to nejsou objekty).
Ale s JavaScriptem jsou metody a vlastnosti dostupné i pro primitivní hodnoty, protože JavaScript při provádění metod a vlastností zachází s primitivními hodnotami jako s objekty.
Délka řetězce JavaScript
Vlastnost length
vrací délku řetězce:
Příklad
let txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
let length = txt.length;
Vytahování částí strun
Existují 3 způsoby, jak extrahovat část řetězce:
slice(start, end)
substring(start, end)
substr(start, length)
JavaScript String slice()
slice()
extrahuje část řetězce a vrátí extrahovanou část v novém řetězci.
Metoda má 2 parametry: počáteční polohu a koncovou polohu (konec není zahrnut).
Tento příklad vyřízne část řetězce z pozice 7 do pozice 12 (13-1):
Příklad
let str = "Apple, Banana, Kiwi";
let part = str.slice(7, 13);
Poznámka
JavaScript počítá pozice od nuly.
První pozice je 0.
Druhá pozice je 1.
Pokud je parametr záporný, pozice se počítá od konce řetězce.
Tento příklad vyřízne část řetězce z pozice -12 do pozice -6:
Příklad
let str = "Apple, Banana, Kiwi";
let part = str.slice(-12, -6);
Pokud vynecháte druhý parametr, metoda rozdělí zbytek řetězce:
Příklad
let part = str.slice(7);
nebo počítám od konce:
Příklad
let part = str.slice(-12);
JavaScript String substring()
substring()
je podobný slice()
.
Rozdíl je v tom, že substring()
nelze přijmout záporné indexy.
Příklad
let str = "Apple, Banana, Kiwi";
let part = str.substring(7, 13);
Pokud vynecháte druhý parametr, substring()
odřízne zbytek řetězce.
JavaScript řetězec substr()
substr()
je podobný slice()
.
Rozdíl je v tom, že druhý parametr udává délku extrahované části.
Příklad
let str = "Apple, Banana, Kiwi";
let part = str.substr(7, 6);
Pokud vynecháte druhý parametr, substr()
odřízne zbytek řetězce.
Příklad
let str = "Apple, Banana, Kiwi";
let part = str.substr(7);
Pokud je první parametr záporný, pozice se počítá od konce řetězce.
Příklad
let str = "Apple, Banana, Kiwi";
let part = str.substr(-4);
Nahrazení obsahu řetězce
Metoda replace()
nahradí zadanou hodnotu jinou hodnotou v řetězci:
Příklad
let text = "Please visit Microsoft!";
let newText = text.replace("Microsoft", "W3Schools");
Poznámka
Metoda replace()
nemění řetězec, na kterém je volána.
Metoda replace()
vrací nový řetězec.
Ve výchozím nastavení replace()
metoda nahradí pouze první shodu:
Příklad
let text = "Please visit Microsoft and Microsoft!";
let newText = text.replace("Microsoft", "W3Schools");
Ve výchozím nastavení replace()
metoda rozlišuje malá a velká písmena. Psaní MICROSOFT (s velkými písmeny) nebude fungovat:
Příklad
let text = "Please visit Microsoft!";
let newText = text.replace("MICROSOFT", "W3Schools");
Chcete-li nahradit malá a velká písmena, použijte regulární výraz příznakem /i
(necitlivé):
Příklad
let text = "Please visit Microsoft!";
let newText = text.replace(/MICROSOFT/i, "W3Schools");
Poznámka
Regulární výrazy se píší bez uvozovek.
Chcete-li nahradit všechny shody, použijte regulární výraz s /g
příznakem (globální shoda):
Příklad
let text = "Please visit Microsoft and Microsoft!";
let newText = text.replace(/Microsoft/g, "W3Schools");
Poznámka
Mnohem více o regulárních výrazech se dozvíte v kapitole Regulární výrazy v JavaScriptu .
Převod na velká a malá písmena
Řetězec se převede na velká písmena pomocí toUpperCase()
:
Řetězec je převeden na malá písmena pomocí toLowerCase()
:
Řetězec JavaScript toUpperCase()
Příklad
let text1 = "Hello World!";
let text2 = text1.toUpperCase();
Řetězec JavaScript toLowerCase()
Příklad
let text1 = "Hello World!"; // String
let text2 = text1.toLowerCase(); // text2 is text1
converted to lower
JavaScriptový řetězec concat()
concat()
spojuje dva nebo více řetězců:
Příklad
let text1 = "Hello";
let text2 = "World";
let text3 = text1.concat(" ", text2);
Metodu concat()
lze použít místo operátoru plus. Tyto dva řádky dělají totéž:
Příklad
text = "Hello" + " " + "World!";
text = "Hello".concat(" ", "World!");
Poznámka
Všechny metody řetězce vracejí nový řetězec. Nemění původní řetězec.
Formálně řekl:
Řetězce jsou neměnné: Řetězce nelze měnit, pouze nahrazovat.
JavaScript String trim()
Metoda trim()
odstraňuje bílé znaky z obou stran řetězce:
Příklad
let text1 = " Hello World! ";
let text2 = text1.trim();
JavaScript String Padding
ECMAScript 2017 přidal dvě metody String: padStart
a padEnd
pro podporu odsazení na začátku a na konci řetězce.
JavaScriptový řetězec padStart()
Příklad
let text = "5";
let padded = text.padStart(4,0);
Podpora prohlížeče
padStart()
je funkce ECMAScript 2017.
Je podporován ve všech moderních prohlížečích:
Chrome | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes |
padStart()
není podporován v Internet Exploreru.
JavaScriptový řetězec padEnd()
Příklad
let text = "5";
let padded = text.padEnd(4,0);
Podpora prohlížeče
padEnd()
je funkce ECMAScript 2017.
Je podporován ve všech moderních prohlížečích:
Chrome | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes |
padEnd()
není podporován v Internet Exploreru.
Extrahování řetězcových znaků
Existují 3 metody pro extrakci řetězcových znaků:
charAt(position)
charCodeAt(position)
- Přístup k nemovitosti [ ]
JavaScriptový řetězec charAt()
Metoda charAt()
vrací znak na zadaném indexu (pozici) v řetězci:
Příklad
let text = "HELLO WORLD";
let char = text.charAt(0);
JavaScriptový řetězec charCodeAt()
Metoda charCodeAt()
vrací unicode znaku na zadaném indexu v řetězci:
Metoda vrací kód UTF-16 (celé číslo mezi 0 a 65535).
Příklad
let text = "HELLO WORLD";
let char = text.charCodeAt(0);
Přístup k nemovitosti
ECMAScript 5 (2009) umožňuje přístup k vlastnostem [ ] na řetězcích:
Příklad
let text = "HELLO WORLD";
let char = text[0];
Poznámka
Přístup k nemovitosti může být trochu nepředvídatelný:
- Díky tomu řetězce vypadají jako pole (ale nejsou)
- If no character is found, [ ] returns undefined, while charAt() returns an empty string.
- It is read only. str[0] = "A" gives no error (but does not work!)
Example
let text = "HELLO WORLD";
text[0] = "A"; // Gives no error, but does not work
Converting a String to an Array
If you want to work with a string as an array, you can convert it to an array.
JavaScript String split()
A string can be converted to an array with the split()
method:
Example
text.split(",") // Split on commas
text.split(" ") // Split on spaces
text.split("|") // Split on pipe
If the separator is omitted, the returned array will contain the whole string in index [0].
If the separator is "", the returned array will be an array of single characters:
Example
text.split("")
Complete String Reference
For a complete String reference, go to our:
Complete JavaScript String Reference.
The reference contains descriptions and examples of all string properties and methods.