Ce face String.startsWith
startsWith("07") returnează true dacă primele caractere ale textului sunt exact "07". endsWith(".pdf") verifică finalul textului. Ambele acceptă și un Char și parametrul ignoreCase.
Sunt mai clare și mai sigure decât compararea unei bucăți tăiate cu substring: nu aruncă excepție dacă textul este mai scurt decât prefixul, ci returnează pur și simplu false.
Parametri
| Parametru | Descriere |
|---|---|
prefix / suffix |
Textul (sau caracterul) căutat la început, respectiv la final. |
ignoreCase |
Dacă true, nu contează literele mari sau mici. |
Ce returnează
Boolean.
Exemple
Exemplul 1: Numere de telefon mobil
Numerele de mobil din România încep cu 07.
fun main() {
val numere = listOf("0722123456", "0232123456", "0745987654")
for (n in numere) {
val tip = if (n.startsWith("07")) "mobil" else "fix"
println("$n: $tip")
}
}
Rezultat
0722123456: mobil
0232123456: fix
0745987654: mobil
Exemplul 2: Filtrarea fișierelor după extensie
Cu ignoreCase = true, și „SCAN.PDF” este recunoscut.
fun main() {
val fisiere = listOf("contract.pdf", "poza.jpg", "SCAN.PDF", "notite.txt")
val pdf = fisiere.filter { it.endsWith(".pdf", ignoreCase = true) }
println(pdf)
}
Rezultat
[contract.pdf, SCAN.PDF]
Exemplul 3: Comenzi după prefix
Verificăm începutul fiecărui rând ca să alegem acțiunea.
fun main() {
val comenzi = listOf("/start", "/ajutor", "salut", "/stop")
for (c in comenzi) {
when {
!c.startsWith('/') -> println("$c: mesaj obișnuit")
c.endsWith("stop") -> println("$c: oprire")
else -> println("$c: comandă")
}
}
}
Rezultat
/start: comandă
/ajutor: comandă
salut: mesaj obișnuit
/stop: oprire
Greșeli frecvente
- Scrii
text.substring(0, 2) == "07". Pe un text de un caracter programul se oprește;startsWithreturnează doarfalse. - Uiți că verificarea ține cont de literele mari:
"Poza.JPG".endsWith(".jpg")estefalsefărăignoreCase = true.
Comenzi înrudite
String.contains: Verifică dacă un text conține alt text, un caracter sau o potrivire Regex; se poate scrie și cu operatorul in.String.removePrefix: Elimină un prefix de la început, un sufix de la final sau ambele, doar dacă ele chiar există.File.extension: extension dă partea de după ultimul punct din numele fișierului; nameWithoutExtension dă numele fără ea.