Ce face String.split
split(separator) taie textul acolo unde apare separatorul și returnează lista bucăților: 'Ana,Mihai,Ioana'.split(',') dă [Ana, Mihai, Ioana]. Separatorul nu apare în rezultat.
Separatorul poate fi un text sau o RegExp, de exemplu RegExp(r'\s+') pentru „unul sau mai multe spații”. Cu separatorul gol '' primești fiecare unitate de cod separat (literă cu literă).
Dacă doi separatori sunt alăturați sau textul începe/se termină cu separator, apar texte goale în listă: 'a,,b'.split(',') este [a, , b]. Un text gol dă [''], adică o listă cu un element, nu o listă goală.
Parametri
| Parametru | Descriere |
|---|---|
pattern |
Separatorul: un String sau o RegExp. |
Ce returnează
Un List<String> cu bucățile.
Exemple
Exemplul 1: Separatori diferiți
Pentru textul gol afișăm lungimea listei: [''] s-ar afișa tot ca [], deși conține un element.
void main() {
print('Ana,Mihai,Ioana'.split(','));
print('2026-10-19'.split('-'));
print('Iași'.split(''));
print('a,,b,'.split(','));
print(''.split(',').length);
print('Ana are mere'.split(RegExp(r'\s+')));
}
Rezultat
[Ana, Mihai, Ioana]
[2026, 10, 19]
[I, a, ș, i]
[a, , b, ]
1
[Ana, are, mere]
Exemplul 2: Citirea unui rând CSV
Fiecare rând are nume, oraș și notă. Transformăm nota în număr cu int.parse și calculăm media.
void main() {
var date = 'Ana;Iași;9\nMihai;Cluj;7\nIoana;Brașov;10';
var total = 0;
var randuri = date.split('\n');
for (var rand in randuri) {
var campuri = rand.split(';');
var nota = int.parse(campuri[2]);
total += nota;
print('${campuri[0]} din ${campuri[1]} are nota $nota');
}
print('Media: ${total / randuri.length}');
}
Rezultat
Ana din Iași are nota 9
Mihai din Cluj are nota 7
Ioana din Brașov are nota 10
Media: 8.666666666666666
Greșeli frecvente
- Te aștepți ca
''.split(',')să dea o listă goală. Dă['']; verificăisEmptyînainte. - Împarți după un singur spațiu un text cu spații multiple și primești texte goale. Folosește
trim().split(RegExp(r'\s+')).
Comenzi înrudite
String.splitMapJoin: Împarte textul în potriviri și bucăți dintre ele, le transformă separat și le lipește la loc.String.trim: Elimină spațiile albe (spații, tab-uri, rânduri noi) de la începutul și/sau sfârșitul textului.RegExp: O expresie regulată: un model de text cu care cauți, verifici sau înlocuiești bucăți dintr-un text.Iterable.join: Lipește elementele într-un singur text, cu un separator între ele.