Przejdź do treści

String.prototype

split

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:

"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"]

Komentarze

Zobacz więcej komentarzy