V dnešním díle našeho seriálu o programování se podíváme na datový typ String, který je ve skutečnosti daleko zajímavějším než se zdá. Se Stringem totiž můžeme pracovat jako s polem, kdy každý jeden znak reprezentuje jeden prvek.
Díky této znalosti nám je již nyní jasné, že si z libovolného textového řetězce můžeme vytáhnout cokoliv chceme. Pokud bychom hledali konkrétní znak na sedmé pozici, budeme muset prvně získat takzvaný index daného prvku v textovém řetězci. Toho docílíme pomocí metody index(), která jako parametry bere počátek Stringu a hledanou hodnotu. Poté již postačí vypsat tento „prvek“ Stringu pomocí hranatých závorek. Na výsledek se můžete podívat prostřednictvím níže přiloženého snímku.
Pro práci se Stringem se ve Swiftu nachází skutečně mnoho metod, které opět slouží k usnadnění celkového programování a dokáží ve většině případů ušetřit čas i nervy. Možná jste si již někdy říkali jak by se dal vložit jeden String do druhého. Odpovědí na tuto otázku je metoda insert(), která vloží vámi definovaný textový řetězec na požadovanou pozici. Vkládání bychom tedy měli, ale co v opačném případě? Pokud si přejete nějaký znak či celý podřetězec smazat, poslouží k tomu metody remove() a removeSubrange(). Metoda remove je podstatně jednodušší, a to proto, že se stará o odstranění pouze jednoho znaku. Co se týče removeSubrange, tak u něj musíme dát pozor na index, který ještě k tomu musíme zapsat pomocí datového typu Range. Ten určuje interval a určitě jste se s ním už setkali, a to buď v samotném cyklu for, a nebo při výběru oblasti v některé z excelovských funkcí.
Substring
Pokud bychom chtěli z textového řetězce vytáhnout pouze určitou část, můžeme toho docílit pomocí takzvaného substringu. Pokud nejste v programování noví, můžete jej znát z ostatních jazyků jako metodu, avšak ve Swiftu funguje trošku jinak. Využívá se takzvané rozkrojení řetězce, z kterého se posléze vytáhne pouze požadovaná část. Jak toho dosáhnout si můžete prohlédnout v galerii níže.
Split a Joined
Metody split() a joined() jsou asi těmi nejdůležitějšími, které nám dovolí s textem pracovat co nejefektivněji. Split nám dovolí například rozdělit řetězec znaků podle určitého oddělovače. S tímto se můžeme nejčastěji setkat při práci se soubory, kdy například CSV soubor v sobě obsahuje hned několik dat, která jsou oddělena příslušným oddělovačem – nejčastěji čárkou nebo středníkem. Naopak metoda joined() slouží pro spojení takovýchto hodnot do jednoho řetězce.
Tímto jsme trošku podrobněji rozebrali práci s datovým typem String, který slouží pro ukládání textových řetězců, a v příštím díle se ponoříme ještě trošku hlouběji a zkusíme si naprogramovat nějakou menší aplikaci.