Przetwarzanie łańcuchów w JavaScript
Mirosław Zelent
Łańcuchami nazywamy w programowaniu napisy (gdyż podobnie jak łańcuchy składają się z ogniw, tak napisy złożone są ze znaków). W praktyce łańcuch możemy zatem zwizualizować sobie jako tablicę (patrz poprzedni artykuł), która indeksowana jest standardowo od zera.
var napis = "Anna";
A | n | n | a |
---|---|---|---|
indeks = 0 | indeks = 1 | indeks = 2 | indeks = 3 |
Poznajmy podstawowe (w kontekście egzaminu) atrybuty łańcuchów oraz metody ich przetwarzania.
length – atrybut pozwalający odczytać długość łańcucha:
var napis = "Anna";
alert(napis.length); // długość tego łańcucha będzie równa 4
charAt(x) – kiedy chcemy uzyskać dostęp do pojedynczego znaku łańcucha (o indeksie równym x), to nie posługujmy się standardowym zapisem z użyciem nawiasów kwadratowych (nie jest on poprawnie zaimplementowany we wszystkich przeglądarkach) – bezpieczniej jest użyć metody charAt(x).
var napis = "Anna";
alert(napis.charAt(3)); // indeks równy 3 to litera "a"
charCodeAt(x) - metoda zwracająca kod ASCII znaku na pozycji x. Kod ASCII to numer znaku w tzw. tablicy ASCII
var napis = "Anna";
alert(napis.charCodeAt(3)); // Kod ASCII litery "a" to 97
search(fraza) - metoda, która wyszukuje pozycję (indeks) w łańcuchu podanej frazy. W przypadku wielokrotnego występowania frazy można użyć metod: indexOf(fraza) oraz lastIndexOf(fraza), które zwrócą kolejno: indeks pierwszego oraz indeks ostatniego wystąpienia podanej frazy w łańcuchu. Uwaga: jeśli frazy nie uda się odnaleźć w tekście, to metody zwrócą wartość -1 (jako umowny sygnał, że tak się stało).
var napis = "Anna ma kota";
var pozycja = napis.search("kot");
alert(pozycja); // pozycja frazy "kot" to indeks 8
slice(start, stop) – metoda, która wyjmuje z napisu jego fragment i wkłada do nowego łańcucha. Wyjmujemy od indeksu start do indeks stop (już bez tego znaku). Słówko "slice" oznacza dosłownie "kroić" – łatwo zapamiętać :)
var napis1 = "Anna ma kota";
var napis2 = napis1.slice(8, 11);
alert(napis2); // wyjęto napis2: "kot"
substr(start, ile_znakow) oraz substring(start, ile) – metody, które również wyjmują z napisu jego fragment i wkładają do nowego łańcucha. Pierwszy argument to indeks określający początek wyjmowania, zaś metody sobą różnią się drugim argumentem. W metodzie substr() podajemy ile znaków wyjmujemy, zaś w przypadku substring() drugi argument to indeks kończący wyjmowanie – ostatnim wyjętym znakiem będzie ten, który znajdował się w szufladce o indeksie o 1 mniejszym od podanego – podobnie jak to miało miejsce w metodzie slice().
var napis1 = "Anna ma kota";
var napis2 = napis1.substring(8, 11);
var napis3 = napis1.substr(8, 3);
alert(napis2); // wyjęto napis2: "kot"
alert(napis3); // wyjęto napis3: "kot"
replace(fraza, inna_fraza) - metoda, która podmienia w łańcuchu podaną frazę na inną
var napis1 = "Anna ma kota";
var napis2 = napis1.replace("kota", "psa");
alert(napis2); // napis2 to: "Anna ma psa"
toLowerCase(x) oraz toUpperCase(x) - zamiana liter łańcucha x na kolejno: małe oraz WIELKIE litery
var napis = "Anna ma kota";
alert(napis.toLowerCase()); // napis to: "anna ma kota"
alert(napis.toUpperCase()); // napis to: "ANNA MA KOTA"
Polecamy: Sekurak Academy 2024
Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp do materiałów z edycji Sekurak Academy z roku 2023! Przy zakupie możecie skorzystać z kodu: pasja-akademia w koszyku, uzyskując rabat -30% na bilety w wersji "Standard" - warto korzystać! Więcej szczegółów znajdziecie tutaj.
Książka: Wprowadzenie do bezpieczeństwa IT
Niedawno wystartował dodruk świetnej, rozchwytywanej książki pt. "Wprowadzenie do bezpieczeństwa IT, Tom I" (około 940 stron). Mamy dla Was kod: pasja (wpisz go w koszyku), dzięki któremu otrzymacie 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla naszych Widzów! Jest to pierwszy tom serii o ITsec, który wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!
Pomóż dzieciom
Polska Akcja Humanitarna od wielu lat dożywia dzieci. Prosimy, poświęć teraz dosłownie chwilę i pomóż klikając w oznaczony strzałką zielony brzuszek Pajacyka. Dziękujemy!
Komentarze
Czy macie jakieś pytania, sugestie, uwagi? A może zauważyliście literówkę albo błąd? Dajcie koniecznie znać w komentarzach! Dziękujemy Wam za poświęcony na to czas!
Disqus