Ce face String.removePrefix
removePrefix("+40") returnează textul fără +40 de la început, dacă textul începe cu el; altfel îl returnează neschimbat. removeSuffix(".txt") face același lucru pentru final. Se elimină o singură apariție.
removeSurrounding("\"") elimină ghilimelele doar dacă textul are ghilimele la ambele capete. Varianta cu două argumente primește prefixul și sufixul separat, de exemplu removeSurrounding("(", ")").
Parametri
| Parametru | Descriere |
|---|---|
prefix / suffix |
Textul eliminat de la început, respectiv de la final. |
delimiter |
Pentru removeSurrounding: textul care trebuie să fie la ambele capete. |
Ce returnează
Un String nou (sau același text, dacă nu s-a eliminat nimic).
Exemple
Exemplul 1: Prefixe și sufixe
Al doilea număr nu începe cu „+40”, deci rămâne neschimbat. La fel, „date.csv” nu se termină cu „.txt”.
fun main() {
println("+40722123456".removePrefix("+40"))
println("0722123456".removePrefix("+40"))
println("notite.txt".removeSuffix(".txt"))
println("date.csv".removeSuffix(".txt"))
}
Rezultat
722123456
0722123456
notite
date.csv
Exemplul 2: Ghilimele și paranteze
removeSurrounding lucrează doar când ambele capete se potrivesc; „”Iași” are ghilimele doar în față, deci rămâne neschimbat. Cu două argumente, prefixul și sufixul pot fi diferite.
fun main() {
println("\"Cluj-Napoca\"".removeSurrounding("\""))
println("\"Iași".removeSurrounding("\""))
println("<b>Important</b>".removeSurrounding("<b>", "</b>"))
println("[admin]".removeSurrounding("[", "]"))
}
Rezultat
Cluj-Napoca
"Iași
Important
admin
Exemplul 3: Curățarea unor coduri de produs
Eliminăm prefixul comun „PROD-” și sufixul „-RO” din fiecare cod.
fun main() {
val coduri = listOf("PROD-1001-RO", "PROD-2002", "3003-RO")
for (c in coduri) {
println(c.removePrefix("PROD-").removeSuffix("-RO"))
}
}
Rezultat
1001
2002
3003
Greșeli frecvente
- Folosești
substring(3)ca să scoți un prefix. Dacă prefixul lipsește, tai litere bune;removePrefixverifică întâi. - Crezi că removePrefix elimină toate aparițiile de la început.
"0007".removePrefix("0")dă"007"; pentru toate, foloseștetrimStart('0').
Comenzi înrudite
String.startsWith: startsWith verifică dacă textul începe cu un prefix, endsWith dacă se termină cu un sufix.String.trim: trim elimină spațiile albe de la începutul și sfârșitul textului; trimStart doar de la început, trimEnd doar de la final.String.substringBefore: Returnează partea de text dinaintea sau de după un separator, fără să calculezi poziții.String.replace: Înlocuiește toate aparițiile unui text sau caracter cu altul și returnează textul nou.