[ Leksykon ] [ JavaScript ] [ Metody ] [ String() ] [ Wyrażenia regularne ]
String split()
[_] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [W] [X] [Y] [Z]
Przykłady:
const tekst = 'Przykładowy tekst. TAK! TAK!';
const kod = tekst.split(' ');
console.log(kod[0]);
console.log(kod[1]);
console.log(kod[2]);
console.log(kod[3]);
// "Przykładowy"
// "tekst."
// "TAK!"
// "TAK!"
const tekst = 'Przykładowy tekst. TAK! TAK!';
const znak = tekst.split('');
console.log(znak[0]);
console.log(znak[1]);
console.log(znak[2]);
console.log(znak[3]);
// "P"
// "r"
// "z"
// "y"
const tekst = 'Przykładowy tekst. TAK! TAK!';
const kod = tekst.split();
console.log(kod);
// Array ["Przykładowy tekst. TAK! TAK!"]
const kodA = "😄😄".split(/(?:)/);
console.log(kodA);
// Array [ "\ud83d", "\ude04", "\ud83d", "\ude04" ]
const kodB = "😄😄".split(/(?:)/u);
console.log(kodB);
// Array [ "😄", "😄" ]
function zadanie(tekst, separator) {
const tekstPodzielony = tekst.split(separator);
console.log("TekstA:", tekst);
console.log("kod dzielenia:", separator);
console.log(
"Tekst podzielony na: ", tekstPodzielony.length,
" elementy: ",
tekstPodzielony.join(" - "),
);
}
const tekstA = "Przykładowy tekst. TAK! TAK!";
const tekstB = "Poniedziałek,Wtorek,Środa,Czwartek,Piatek,Sobota,Niedziela";
const znakA = " ";
const znakB = ",";
zadanie(tekstA, znakA);
zadanie(tekstA);
zadanie(tekstB, znakB);
// "TekstA:" "Przykładowy tekst. TAK! TAK!"
// "kod dzielenia:" " "
// "Tekst podzielony na: " 4 " elementy: " "Przykładowy - tekst. - TAK! - TAK!"
// "TekstA:" "Przykładowy tekst. TAK! TAK!"
// "kod dzielenia:" undefined
// "Tekst podzielony na: " 1 " elementy: " "Przykładowy tekst. TAK! TAK!"
// "TekstA:" "Poniedziałek,Wtorek,Środa,Czwartek,Piatek,Sobota,Niedziela"
// "kod dzielenia:" ","
// "Tekst podzielony na: " 7 " elementy: " "Poniedziałek - Wtorek - Środa - Czwartek - Piatek -
// Sobota - Niedziela"
const tekst = "Przykładowy tekst. TAK! TAK!; Jan Kowalski; Maria Kowalska ";
console.log(tekst);
const kod = /\s*(?:;|$)\s*/;
const tesktpPodzielony = tekst.split(kod);
console.log(tesktpPodzielony);
// "Przykładowy tekst. TAK! TAK!; Jan Kowalski; Maria Kowalska "
// Array ["Przykładowy tekst. TAK! TAK!", "Jan Kowalski", "Maria Kowalska", ""]
const tekst = "Przykładowy tekst. 1 TAK! 2 TAK!";
const tesktpPodzielony = tekst.split(/(\d)/);
console.log(tesktpPodzielony);
// Jeśli separatorjest wyrażeniem regularnym zawierającym nawiasy przechwytujące ( ),
// dopasowane wyniki są zawarte w tablicy. \d pasuje do klasy znaku dla cyfr od 0 do 9.
// Array ["Przykładowy tekst. ", "1", " TAK! ", "2", " TAK!"]
const separator = {
[Symbol.split](tekst) { // Obiekt z Symbol.splitmetodą może być używany
// jako rozdzielacz z niestandardowym zachowaniem
let liczba = 1;
let pozycja = 0;
const wynik = [];
while (pozycja < tekst.length) {
const wynikIOf = tekst.indexOf(liczba, pozycja);
if (wynikIOf === -1) {
wynik.push(tekst.substring(pozycja));
break;
}
wynik.push(tekst.substring(pozycja, wynikIOf));
pozycja = wynikIOf + String(liczba).length;
liczba++;
}
return wynik;
},
};
const myString = "poniedziałek1wtorek2środa3czwartek4piatek5sobota6niedziela7";
console.log(myString.split(separator)); // [ "a", "bc", "c5d", "e", "f" ]
// Array ["poniedziałek", "wtorek", "środa", "czwartek", "piątek", "sobota", "niedziela"]
const tekst = "Przykładowy tekst. \t1 TAK! \t2 TAK!";
const tesktpPodzielony = tekst.split("\t");
console.log(tesktpPodzielony);
// Array ["Przykładowy tekst. ", "1 TAK! ", "2 TAK!"]
Opis:
Metoda split() bierze wzorzec i dzieli String na uporządkowaną listę pod łańcuchów, wyszukując wzór, umieszcza te pod łańcuchy w tablicy i zwraca tablicę.
split(separator)
split(separator, limit)
separator
Wzorzec opisujący, gdzie powinien wystąpić każdy podział. Może to być undefined, ciąg znaków lub obiekt z Symbol.split metodą typowym przykładem jest wyrażenie regularne. Pominięcie separator lub przekazanie undefined powoduje split() zwrócenie tablicy z ciągiem wywołującym jako pojedynczym elementem. Wszystkie wartości, które nie są undefined lub obiekty z @@split metodą, są przekształcane w ciągi znaków.
limit jest opcjonalny
Nieujemna liczba całkowita określająca limit liczby pod łańcuchów, które mają być zawarte w tablicy. Jeśli jest podany, dzieli ciąg znaków przy każdym wystąpieniu podanego elementu separator, ale zatrzymuje się, gdy limit wpisy zostaną umieszczone w tablicy. Pozostały tekst w ogóle nie jest uwzględniany w tablicy. Tablica może zawierać mniej wpisów niż limit w przypadku osiągnięcia końca łańcucha przed osiągnięciem limitu. Jeśli limit jest 0, jest zwracany [].
Zwracana wartość to Array.
Jeśli separator jest obiektem z Symbol.split metodą, ta metoda jest wywoływana z docelowym ciągiem znaków i limit jako argumenty oraz this ustawiana na obiekt. Jego wartość zwracana staje się wartością zwracaną przez split.
Linki: