English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In questo articolo, imparerai a utilizzare esempi per imparare le stringhe Kotlin, le stringhe di modello e alcune proprietà e funzioni di stringa comuni.
La stringa è una sequenza di caratteri. Ad esempio, \
In Kotlin, tutte le stringhe sono oggetti della classe String. Questo significa che stringhe come "Hello here!" vengono implementate come istanze di questa classe.
Questo è il metodo per definire una variabile String in Kotlin. Ad esempio,
val myString = "Hey there!"
In questo caso, myString è una variabile di tipo String.
È possibile dichiarare una variabile di tipo String e specificarne il tipo in una singola istruzione, quindi inizializzare la variabile in un'altra istruzione del programma.
val myString: String ... .. ... myString = "Howdy"
Per accedere agli elementi (caratteri) della stringa, utilizzare l'operatore di accesso dell'indice. Ad esempio,
val myString = "Hey there!" val item = myString[2]
In questo caso, la variabile item contiene il terzo carattere 'y' della stringa myString. Questo perché l'indice in Kotlin parte da 0 e non da 1.
val myString = "Hey there!" var item: Char item = myString[0] // item = 'H' item = myString[9] // item = '!' item = myString[10] // Error! L'indice della stringa è fuori gamma item = myString[-1] // Error! L'indice della stringa è fuori gamma
Se è necessario esplorare gli elementi di una stringa, è possibile utilizzareCiclo forFacileImplementazione.
fun main(args: Array<String>) { val myString = "Hey!" for (item in myString) { println(item) } }
Quando si esegue questo programma, l'output è:
H e y !
Come in Java, le stringhe in Kotlin sono immutabili. Questo significa che non è possibile modificare un singolo carattere della stringa. Ad esempio,
var myString = "Hey!" myString[0] = 'h' // Error! Stringhe
Ma se si dichiara una variabile di stringa utilizzando la parola chiave var, è possibile riassegnare la variabile. (Leggi consigliati:Kotlin var Vs val)
fun main(args: Array<String>) { var myString = "Hey!" println("myString = $myString") myString = "Hello!" println("myString = $myString") }
Quando si esegue questo programma, l'output è:
myString = Hey! myString = Hello!
I letterali sono la rappresentazione del codice sorgente di valori fissi. Ad esempio, "Hey there!" è una stringa letterale che appare direttamente nel programma senza necessità di calcolo (comeVariabile)
In Kotlin ci sono due tipi di letterali di stringa:
I caratteri possono essere già escapati nella stringa escapata. Ad esempio
val myString = "Hey there!\n"
Qui, \n è il carattere di escape, utilizzato per inserire un newline nel testo.
Ecco l'elenco dei caratteri di escape supportati da Kotlin:
\t - Inserisci il tabulatore
\b - Inserisci il carattere di backspace
\n - Inserisci il carattere di newline
\r - Inserisci il carattere di ritorno a capo
\' - Inserisci il carattere virgoletta singola
\" - Inserisci il carattere virgoletta doppia
\\ - Inserisci il backslash
\$ - Inserisci il carattere dollaro
La stringa originale può contenere caratteri di newline (non newline) e qualsiasi testo. La stringa originale è separata da tre virgolette """. Ad esempio:
fun main(args: Array<String>) { val myString = """ for (character in "Hey!") println(character) """ print(myString) }
Quando si esegue questo programma, l'output è:
for (character in "Hey!") println(character)
Puoi usare la funzione trimMargin() per rimuovere gli spazi iniziali della stringa originale. Ad esempio:
fun main(args: Array<String>) { println("Output senza la funzione trimMargin():") val myString = """ |Kotlin è interessante. |Kotlin è sponsorizzato e sviluppato da JetBrains. """ println(myString) println("Esempio di output con la funzione trimMargin():\n") println(myString.trimMargin()) }
Quando si esegue questo programma, l'output è:
Output senza la funzione trimMargin(): |Kotlin è interessante. |Kotlin è sponsorizzato e sviluppato da JetBrains. Esempio di output con la funzione trimMargin(): Kotlin è interessante. Kotlin è sponsorizzato e sviluppato da JetBrains.
Per impostazione predefinita, la funzione trimMargin() utilizza | come prefisso di margine. Ma puoi cambiarlo passando una nuova stringa alla funzione.
fun main(args: Array<String>) { val myString = """ !!! Kotlin è interessante. !!! Kotlin è sponsorizzato e sviluppato da JetBrains. """ println(myString.trimMargin("!!! ")) }
Quando si esegue questo programma, l'output è:
Kotlin è interessante. Kotlin è sponsorizzato e sviluppato da JetBrains.
Kotlin ha una fantastica funzione chiamata template di stringa, che permette alle stringhe di includere espressioni di template.
Le espressioni dei template di stringa in Kotlin iniziano con il simbolo $. Ecco alcuni esempi:
fun main(args: Array<String>) { val myInt = 5; val myString = "myInt = $myInt" println(myString) }
Quando si esegue questo programma, l'output è:
myInt = 5
Questo è perché l'espressione $myInt (un'espressione che inizia con il simbolo $) viene valutata e concatenata alla stringa.
fun main(args: Array<String>) { val a = 5 val b = 6 val myString = """ |${if (a > b) a else b} """ println("Il numero più grande è: ${myString.trimMargin()}") }
Quando si esegue questo programma, l'output è:
Il numero più grande è: 6
Poiché i literal in Kotlin sono implementati come istanze della classe String, puoi usare diversi metodi e attributi di questa classe.
L'attributo length - Restituisce la lunghezza della sequenza di caratteri della stringa.
La funzione compareTo - Confronta questo stringa (oggetto) con l'oggetto specificato. Se l'oggetto è uguale all'oggetto specificato, restituisce 0.
La funzione get - Restituisce il carattere all'indice specificato. Puoi usare l'operatore di accesso all'indice invece della funzione get, perché l'operatore di accesso all'indice chiama internamente la funzione get.
La funzione plus - Restituisce una nuova stringa ottenuta concatenando la stringa con quella passata a questa funzione. Puoi usare l'operatore + al posto della funzione plus, perché l'operatore + chiama in background la funzione plus.
La funzione subSequence - Restituisce una nuova sequenza di caratteri a partire da un indice di inizio e fine specificato.
fun main(args: Array<String>) { val s1 = "Hey there!" val s2 = "Hey there!" var result: String println("La lunghezza della stringa s1 è ${s1.length}.") result = if (s1.compareTo(s2) == 0) "uguali" else "diversi" println("La stringa s1 e s2 sono ${result}.") // s1.get(2) è uguale a s1[2] println("Il terzo carattere è ${s1.get(2)}.") result = s1.plus(" How are you?") // result = s1 + " How are you?" println("result = $result") println("La sottostringa è \ }
L'output durante l'esecuzione del programma è:
La lunghezza della stringa s1 è 10. Le stringhe s1 e s2 sono uguali. Il terzo carattere è y. result = Hey there! How are you? La sottostringa è "the"