Ce face String.contains
text.contains("Iași") returnează true dacă "Iași" apare oriunde în text. Pentru că este o funcție operator, poți scrie mai natural "Iași" in text; negarea este !in.
Căutarea ține cont de literele mari, dar poți da ignoreCase = true (doar în forma cu apel de funcție). Cu un Regex verifici un tipar, de exemplu dacă textul conține cifre.
Parametri
| Parametru | Descriere |
|---|---|
other / char / regex |
Ce se caută. |
ignoreCase |
Dacă true, nu contează literele mari sau mici. |
Ce returnează
Boolean.
Exemple
Exemplul 1: contains și operatorul in
Cele două forme sunt echivalente. !in înseamnă „nu conține”.
fun main() {
val adresa = "Str. Lăpușneanu 12, Iași"
println(adresa.contains("Iași"))
println("Cluj" in adresa)
println('@' !in adresa)
}
Rezultat
true
false
true
Exemplul 2: Căutare fără să conteze literele mari
Găsim toate produsele care conțin „lapte”, indiferent cum sunt scrise.
fun main() {
val produse = listOf("Lapte UHT", "Iaurt", "Ciocolată cu LAPTE", "Pâine")
val gasite = produse.filter { it.contains("lapte", ignoreCase = true) }
println(gasite)
}
Rezultat
[Lapte UHT, Ciocolată cu LAPTE]
Exemplul 3: Verificarea unei parole cu Regex
contains(Regex("[0-9]")) verifică dacă există cel puțin o cifră.
fun main() {
val parole = listOf("soare", "soare2024", "Iasi!")
for (p in parole) {
val areCifra = p.contains(Regex("[0-9]"))
println("$p: ${if (areCifra) "are cifră" else "fără cifre"}")
}
}
Rezultat
soare: fără cifre
soare2024: are cifră
Iasi!: fără cifre
Greșeli frecvente
- Scrii
"lapte" in textși te aștepți să găsească „Lapte”. Operatorulinține cont de literele mari; foloseștecontains(..., ignoreCase = true). - Folosești
indexOf(x) != -1. Funcționează, darcontainssauinsunt mai clare.
Comenzi înrudite
String.indexOf: indexOf returnează poziția primei apariții a unui text sau caracter, lastIndexOf a ultimei; -1 dacă lipsește.String.startsWith: startsWith verifică dacă textul începe cu un prefix, endsWith dacă se termină cu un sufix.Regex: Regex este o expresie regulată (un tipar de text); matches verifică tot textul, containsMatchIn caută o bucată.