Ce face String.trim
trim() returnează un text nou, fără spațiile, tab-urile și rândurile noi de la capete. Spațiile din interior rămân neatinse. Textul original nu se schimbă, pentru că în Kotlin String este imuabil.
trimStart() curăță doar partea din stânga, iar trimEnd() doar partea din dreapta. Toate trei au și o variantă cu caractere date (trim('*', '-')) sau cu o condiție (trim { it == '0' }), pentru a tăia altceva decât spații.
Parametri
| Parametru | Descriere |
|---|---|
predicate / vararg chars |
Opțional: ce caractere se taie de la capete. Implicit, spațiile albe. |
Ce returnează
Un String nou, cu capetele curățate.
Exemple
Exemplul 1: Curățarea unui nume introdus
Parantezele drepte arată exact unde începe și unde se termină textul.
fun main() {
val introdus = " Ana Popescu \n"
println("[${introdus.trim()}]")
println("[${introdus.trimStart()}]")
println("[${introdus.trimEnd()}]")
}
Rezultat
[Ana Popescu]
[Ana Popescu
]
[ Ana Popescu]
Exemplul 2: Compararea după trim
Fără trim, spațiile în plus fac ca orașul să nu fie recunoscut.
fun main() {
val raspuns = " Cluj "
println(raspuns == "Cluj")
println(raspuns.trim() == "Cluj")
}
Rezultat
false
true
Exemplul 3: Tăierea altor caractere
Cu caractere date sau cu o condiție poți elimina zerourile ori marcajele de la capete.
fun main() {
println("***Reducere***".trim('*'))
println("000425".trimStart('0'))
println("--Titlu--".trimEnd('-'))
println("12abc34".trim { it.isDigit() })
}
Rezultat
Reducere
425
--Titlu
abc
Greșeli frecvente
- Scrii
nume.trim()și apoi folosești totnume. trim nu modifică variabila; păstrează rezultatul:val curat = nume.trim(). - Te aștepți ca trim să elimine spațiile din mijloc. Pentru asta folosește
replace(" ", "").
Comenzi înrudite
String.isEmpty: isEmpty verifică dacă textul nu are niciun caracter; isBlank verifică dacă are doar spații sau e gol.String.removePrefix: Elimină un prefix de la început, un sufix de la final sau ambele, doar dacă ele chiar există.String.replace: Înlocuiește toate aparițiile unui text sau caracter cu altul și returnează textul nou.String.padStart: Completează textul la o lungime dată, adăugând un caracter la început (padStart) sau la final (padEnd).