Ce face String.trim
trim() scoate spațiile albe de la ambele capete ale textului. Spații albe înseamnă spații, tab-uri (\t), rânduri noi (\n, \r) și alte spații Unicode. Spațiile din mijlocul textului rămân.
trimLeft() curăță doar începutul, iar trimRight() doar sfârșitul. trimRight() este util la rândurile citite dintr-un fișier, unde vrei să păstrezi indentarea de la început.
Folosește trim() pe orice text venit de la utilizator (formular, tastatură) înainte de a-l compara sau salva: un spațiu în plus face ca 'Ana ' să fie diferit de 'Ana'.
Ce returnează
Un String nou, fără spațiile de la capete.
Exemple
Exemplul 1: Cele trei variante
Parantezele drepte arată unde începe și unde se termină textul.
void main() {
var text = ' \t Ana Popescu \n ';
print('[${text.trim()}]');
print('[${text.trimLeft()}]');
print('[${text.trimRight()}]');
print('[${' Iași are spații '.trim()}]');
}
Rezultat
[Ana Popescu]
[Ana Popescu
]
[ Ana Popescu]
[Iași are spații]
Exemplul 2: Curățarea datelor de la tastatură
import 'dart:io';
void main() {
var email = stdin.readLineSync() ?? '';
print('Ai scris ${email.length} caractere');
email = email.trim().toLowerCase();
print('După curățare: "$email" (${email.length} caractere)');
print(email == 'ana@exemplu.ro' ? 'Cont găsit' : 'Cont inexistent');
}
Ce scrie utilizatorul (intrare)
ana@exemplu.ro
Rezultat
Ai scris 20 caractere
După curățare: "ana@exemplu.ro" (14 caractere)
Cont găsit
Greșeli frecvente
- Te aștepți ca
trim()să scoată spațiile duble din mijloc. Pentru asta foloseștereplaceAll(RegExp(r'\s+'), ' '). - Uiți să atribui rezultatul:
nume.trim();singur nu face nimic.
Comenzi înrudite
String.length: length dă numărul de unități UTF-16 ale textului; isEmpty și isNotEmpty spun dacă textul este gol.String.replaceAll: Înlocuiește toate aparițiile (replaceAll) sau doar prima (replaceFirst) unui text; replaceAllMapped calculează înlocuirea.String.split: Împarte textul în bucăți la fiecare apariție a separatorului și returnează o listă de texte.