Rozbijanie tekstu - split
Jak rozbić tekst na tablicę elementów?
String.prototype.split() String.prototype.split(separator) String.prototype.split(separator, limit)
- Parametry:
String|RegExp
separator - znaki rozdzielające (domyślnie: undefined)Number
limit - maksymalna liczba elementów w tablicy wynikowej (domyślnie: 232 – 1)- Wartość:
Array
- tablica zawierająca kawałki rozbitego tekstu
Rozbija podany tekst na tablicę mniejszych kawałków, z których każdy w oryginalnym tekście był rozdzielony od pozostałych określonym separatorem. Sam separator nie jest dołączany do wynikowej tablicy. Podanie separatora w postaci wyrażenia regularnego pozwala określić znaki rozdzielające kolejne kawałki tekstu w postaci ogólnego wzorca. Możemy np. pokawałkować tekst w miejscach wystąpienia w nim dowolnej cyfry. Działanie funkcji jest takie samo bez względu, czy wyrażenie regularne zawiera flagę g.
- Jeżeli separator nie został podany albo ma wartość undefined, funkcja zwraca jednoelementową tablicę zawierającą pełny tekst oryginalny.
- Jeżeli oryginalny tekst jest pusty, a separatorem jest również pusty tekst lub wyrażenie regularne dopasowujące pusty tekst, funkcja zwraca pustą tablicę.
- Jeżeli oryginalny tekst jest pusty, ale separatorem nie jest pusty tekst ani wyrażenie regularne dopasowujące pusty tekst, funkcja zwraca jednoelementową tablicę zawierającą pusty tekst.
- Jeżeli oryginalny tekst nie jest pusty, ale separatorem jest pusty tekst lub wyrażenie regularne dopasowujące pusty tekst, funkcja zwraca tablicę złożoną z kolejnych znaków oryginalnego tekstu.
- Jeżeli oryginalny tekst rozpoczyna lub kończy się separatorem, funkcja zwraca tablicę, której odpowiednio pierwszym lub ostatnim elementem będzie pusty tekst.
- Jeżeli separatorem jest wyrażenie regularne zawierające nawiasy, funkcja zwraca tablicę, która zawiera również części dopasowań, które w wyrażeniu znajdowały się w nawiasie. Jeżeli części w nawiasach nie zostaną dopasowane, w ich miejsce podstawiana jest wartość undefined.
Podanie argumentu limit pozwala ustalić, maksymalnie ile elementów będzie zawierać tablica wynikowa. Ewentualne dalsze kawałki tekstu już się w niej nie znajdą.
Przykład String.prototype.split
"abc".split(); // ["abc"] "".split(); // [""] "".split(""); // [] "".split(/a?/); // [] "".split("a"); // [""] "".split(/a/); // [""] "abc".split(""); // ["a", "b", "c"] "abc".split(/a?/); // ["a", "b", "c"] "abc".split("a"); // ["", "bc"] "abcba".split("b"); // ["a", "c", "a"] "abc".split("c"); // ["ab", ""] "abcba".split(/b/); // ["a", "c", "a"] "abcdba".split(/b(c)?/); // ["a", "c", "d", undefined, "a"]