Ce face String.toUpperCase
toUpperCase() returnează o copie a textului cu toate literele mari, iar toLowerCase() una cu toate literele mici. Cifrele, spațiile și semnele de punctuație rămân neschimbate. Funcționează și pentru diacriticele românești: 'ștefan'.toUpperCase() este 'ȘTEFAN'.
Cea mai des folosită aplicație este compararea fără să conteze literele mari: a.toLowerCase() == b.toLowerCase(). Așa „Iași”, „IAȘI” și „iași” sunt considerate același oraș.
Dart nu are o metodă pentru „prima literă mare”; o scrii simplu cu text[0].toUpperCase() + text.substring(1), având grijă la textul gol.
Ce returnează
Un String nou; originalul nu se schimbă.
Exemple
Exemplul 1: Litere mari și mici
void main() {
var oras = 'Târgu Mureș';
print(oras.toUpperCase());
print(oras.toLowerCase());
print(oras);
print('ștefan cel mare, 1457'.toUpperCase());
}
Rezultat
TÂRGU MUREȘ
târgu mureș
Târgu Mureș
ȘTEFAN CEL MARE, 1457
Exemplul 2: Căutare fără diferență între litere mari și mici
void main() {
var orase = ['Iași', 'Cluj-Napoca', 'Brașov', 'Constanța'];
var cautat = 'BRAȘOV';
var gasit = orase.where((o) => o.toLowerCase() == cautat.toLowerCase());
print(gasit.toList());
print(orase.contains(cautat));
}
Rezultat
[Brașov]
false
Exemplul 3: Prima literă mare
String capitalizeaza(String s) =>
s.isEmpty ? s : s[0].toUpperCase() + s.substring(1).toLowerCase();
void main() {
for (var nume in ['ana', 'MIHAI', 'ioana maria', '']) {
print('"${capitalizeaza(nume)}"');
}
}
Rezultat
"Ana"
"Mihai"
"Ioana maria"
""
Greșeli frecvente
- Apelezi
nume.toUpperCase();fără să păstrezi rezultatul. Metoda nu schimbă variabila:nume = nume.toUpperCase();. - Compari direct
'Iași' == 'iași'și primeștifalse. Transformă ambele texte la aceleași litere înainte.
Comenzi înrudite
String: Tipul pentru text în Dart: un șir de caractere care nu se mai poate modifica după creare.String.contains: Verifică dacă textul conține o bucată (contains), începe cu ea (startsWith) sau se termină cu ea (endsWith).String.trim: Elimină spațiile albe (spații, tab-uri, rânduri noi) de la începutul și/sau sfârșitul textului.