String.trim în Kotlin

trim elimină spațiile albe de la începutul și sfârșitul textului; trimStart doar de la început, trimEnd doar de la final.

Sintaxă
fun String.trim(): String
fun String.trimStart(): String
fun String.trimEnd(): String
fun String.trim(predicate: (Char) -> Boolean): String

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 tot nume. 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).