Práce s textovými řetězci může být pro programátory obtížná, pokud nemají potřebné znalosti a nástroje.
Abyste se vyhnuli těmto problémům, je klíčové se seznámit se základními vlastnostmi a metodami pro manipulaci s řetězci v jazyce JavaScript.
Pojďme si je postupně detailněji prozkoumat.
Délka řetězce
Vlastnost `length` slouží ke zjištění počtu znaků v daném řetězci.
const nazevFirmy = "etechblog.cz"; console.log(nazevFirmy.length);
Převod na velká písmena
Metoda `toUpperCase()` transformuje všechny znaky v řetězci na velká písmena a vrací nový řetězec. Původní řetězec zůstává nezměněn.
const nazevFirmy = "etechblog.cz"; const velkaPismena = nazevFirmy.toUpperCase(); console.log(velkaPismena);
Převod na malá písmena
Metoda `toLowerCase()` naopak převádí všechny znaky v řetězci na malá písmena. Stejně jako v předchozím případě, původní řetězec se nemění.
const nazevFirmy = "etechblog.cz"; const malaPismena = nazevFirmy.toLowerCase(); console.log(malaPismena);
Ořezání mezer
Metoda `trim()` odstraňuje mezery ze začátku a konce řetězce. Tato metoda upravuje a vrací nový řetězec.
const nazevFirmy = " Geek Flare "; console.log(nazevFirmy); console.log(nazevFirmy.trim());
Získání znaku na dané pozici
Metoda `charAt(index)` vrací znak umístěný na zadané pozici (indexu) v řetězci. Pokud index není platný, vrátí prázdný řetězec.
const nazevFirmy = "etechblog.cz"; console.log(nazevFirmy.charAt(2)); console.log(nazevFirmy.charAt(10));
ASCII kód znaku
Metoda `charCodeAt(index)` vrací ASCII kód znaku umístěného na zadaném indexu. V případě neplatného indexu vrátí `NaN`.
const nazevFirmy = "etechblog.cz"; console.log(nazevFirmy.charCodeAt(2)); console.log(nazevFirmy.charCodeAt(10));
Získání podřetězce pomocí slice
Metoda `slice(startIndex, endIndex)` extrahuje podřetězec z původního řetězce, začínající na indexu `startIndex` a končící před indexem `endIndex`. Například, `string.slice(0, 6)` získá podřetězec od 0. do 5. indexu.
const nazevFirmy = "etechblog.cz"; console.log(nazevFirmy.slice(0, 4));
Metoda `slice` také umožňuje zadat jen jeden argument. V takovém případě metoda vrátí podřetězec od zadaného indexu až do konce původního řetězce.
const nazevFirmy = "etechblog.cz"; console.log(nazevFirmy.slice(4));
Metoda `slice` akceptuje i záporné indexy. V takovém případě se indexy počítají od konce řetězce. Pro řetězec „etechblog.cz“ by platilo: G = -9, e = -8, e = -7, k = -6, atd.
Volání `string.slice(-9, -5)` pro řetězec „etechblog.cz“ by vrátilo „etech“.
const nazevFirmy = "etechblog.cz"; console.log(nazevFirmy.slice(-9, -5));
Volání `string.slice(-5)` by vrátilo „g.cz“.
const nazevFirmy = "etechblog.cz"; console.log(nazevFirmy.slice(-5));
Důležité upozornění: Záporné indexy nejsou podporovány v Internet Exploreru verze 8 a starších.
Získání podřetězce pomocí substr
Metoda `substr(startIndex, length)` je podobná `slice`, ale namísto koncového indexu přijímá délku požadovaného podřetězce.
const nazevFirmy = "etechblog.cz"; console.log(nazevFirmy.substr(4, 5));
Existuje ještě metoda `substring`, která se chová podobně jako `slice`, ale neakceptuje záporné indexy. Vyzkoušejte si ji sami.
Nahrazení podřetězce
Metoda `replace(oldSubString, newSubString)` nahradí první výskyt `oldSubString` za `newSubString` v původním řetězci.
const veta = "Navštivte stránku Google"; console.log(veta.replace("Google", "etechblog.cz"));
Vyhledání indexu podřetězce
Metoda `indexOf(subString)` vrací index prvního výskytu daného podřetězce v řetězci. Pokud podřetězec neexistuje, vrací -1.
const nazevFirmy = "etechblog.cz"; console.log(nazevFirmy.indexOf("Flare")); console.log(nazevFirmy.indexOf("o"));
Metoda `indexOf` může také přijmout druhý argument, který specifikuje pozici v řetězci, od které má vyhledávání začít.
const nazevFirmy = "etechblog.cz"; console.log(nazevFirmy.indexOf("e")); console.log(nazevFirmy.indexOf("e", 5));
Metoda `lastIndexOf` se chová podobně jako `indexOf`, ale vyhledává podřetězec od konce řetězce a vrací index jeho prvního výskytu. Otestujte si `nazevFirmy.lastIndexOf(‚e‘)`.
Rozdělení řetězce
Metoda `split(delimiter)` rozdělí řetězec na podřetězce pomocí zadaného oddělovače (delimiter) a vrací je jako pole.
const veta = "Navštivte, stránku, etechblog.cz"; console.log(veta.split(" ")); console.log(veta.split(", "));
Závěr
Toto je pouze základní přehled metod pro práci s řetězci v JavaScriptu. Doporučujeme vám prozkoumat další metody v oficiální dokumentaci. Existuje mnoho dalších užitečných metod, které se mohou hodit ve specifických situacích.
Hledejte a používejte ty, které nejlépe vyhovují vašim potřebám, i když zde nejsou přímo zmíněny.
Přejeme vám příjemné a úspěšné programování 🙂
Nezapomeňte také prozkoumat populární JavaScriptové frameworky.