Ce face String.length
length este o proprietate, nu o funcție: scrii text.length, fără paranteze. Valoarea este numărul de caractere Char din text. Literele românești (ă, î, ș, ț) contează ca un singur caracter, la fel ca spațiile și semnele de punctuație.
Caracterele unui text se numerotează de la 0. Primul este text[0], ultimul este text[text.length - 1]. Parantezele pătrate apelează de fapt funcția get: text[2] și text.get(2) fac același lucru și returnează un Char, nu un String.
Un index în afara textului (negativ sau mai mare decât length - 1) aruncă StringIndexOutOfBoundsException. Dacă nu ești sigur că poziția există, folosește getOrNull(i), care returnează null.
Parametri
| Parametru | Descriere |
|---|---|
index: Int |
Poziția caracterului, numărată de la 0. |
Ce returnează
length: numărul de caractere (Int). get: caracterul de la poziția dată (Char).
Exemple
Exemplul 1: Lungimea unor texte
Diacriticele și spațiile se numără ca orice alt caracter. Textul gol are lungimea 0.
fun main() {
val oras = "Iași"
val propozitie = "Bună ziua, Ana!"
println("$oras are ${oras.length} caractere")
println("Propoziția are ${propozitie.length} caractere")
println("Text gol: ${"".length}")
}
Rezultat
Iași are 4 caractere
Propoziția are 15 caractere
Text gol: 0
Exemplul 2: Primul și ultimul caracter
text[0] este primul caracter, iar text[text.length - 1] ultimul. get face același lucru ca parantezele pătrate.
fun main() {
val nume = "Ștefan"
println("Prima literă: ${nume[0]}")
println("Ultima literă: ${nume[nume.length - 1]}")
println("A treia literă: ${nume.get(2)}")
println("Poziția 10 există? ${nume.getOrNull(10)}")
}
Rezultat
Prima literă: Ș
Ultima literă: n
A treia literă: e
Poziția 10 există? null
Exemplul 3: Parcurgerea caracterelor cu index
indices dă intervalul 0 până la length - 1, așa că bucla nu iese niciodată din text.
fun main() {
val cod = "RO42"
for (i in cod.indices) {
println("Poziția $i: ${cod[i]}")
}
}
Rezultat
Poziția 0: R
Poziția 1: O
Poziția 2: 4
Poziția 3: 2
Greșeli frecvente
- Scrii
text.length()ca în Java. În Kotlinlengtheste proprietate: scrietext.length. - Folosești
text[text.length]pentru ultimul caracter. Ultimul index estelength - 1; poți folosi șitext.last(). - Compari
text[0] == "A".text[0]esteChar, deci se compară cu'A'(ghilimele simple).
Comenzi înrudite
String.isEmpty: isEmpty verifică dacă textul nu are niciun caracter; isBlank verifică dacă are doar spații sau e gol.String.first: first returnează primul caracter al textului (sau primul care respectă o condiție), last ultimul.String.substring: Returnează bucata de text dintre două poziții: de la startIndex inclusiv până la endIndex exclusiv.Char.isDigit: Verifică tipul unui caracter: cifră (isDigit), literă (isLetter), literă sau cifră, spațiu alb (isWhitespace).