Ricerca…


Elementi di stringa

Gli elementi di String sono caratteri a cui è possibile accedere tramite la string[index] operazioni di indicizzazione string[index] .

val str = "Hello, World!"
println(str[1]) // Prints e

Gli elementi stringa possono essere iterati con un ciclo for.

for (c in str) {
    println(c)
}

String letterali

Kotlin ha due tipi di stringhe letterali:

  • Stringa sfuggita
  • Stringa grezza

La stringa di escape gestisce i caratteri speciali facendoli sfuggire. L'escape è fatto con una barra rovesciata. Sono supportate le seguenti sequenze di escape: \t , \b , \n , \r , \' , \" , \\ e \$ . Per codificare qualsiasi altro carattere, utilizzare la sintassi della sequenza di escape Unicode: \uFF00 .

val s = "Hello, world!\n"

Stringa raw delimitata da una virgola tripla """ , non contiene escape e può contenere righe nuove e qualsiasi altro carattere

val text = """
    for (c in "foo")
        print(c)
"""

Gli spazi bianchi principali possono essere rimossi con la funzione trimMargin () .

val text = """
    |Tell me and I forget.
    |Teach me and I remember.
    |Involve me and I learn.
    |(Benjamin Franklin)
    """.trimMargin()

Il prefisso di margine predefinito è pipe character | , questo può essere impostato come parametro su trimMargin; es. trimMargin(">") .

Modelli di stringa

Entrambe le stringhe di escape e le stringhe non elaborate possono contenere espressioni di template. L'espressione template è un pezzo di codice che viene valutato e il suo risultato è concatenato in stringa. Inizia con un segno di dollaro $ e consiste in un nome di variabile:

val i = 10
val s = "i = $i" // evaluates to "i = 10"

O un'espressione arbitraria in parentesi graffe:

val s = "abc"
val str = "$s.length is ${s.length}" // evaluates to "abc.length is 3"

Per includere un simbolo di dollaro letterale in una stringa, sfuggire utilizzando una barra rovesciata:

val str = "\$foo" // evaluates to "$foo"

L'eccezione è costituita da stringhe non formattate, che non supportano l'escape. Nelle stringhe non formattate è possibile utilizzare la seguente sintassi per rappresentare un segno di dollaro.

val price = """
${'$'}9.99
"""

Uguaglianza delle stringhe

In Kotlin le stringhe vengono confrontate con l'operatore == che esegue il checking per la loro uguaglianza strutturale.

val str1 = "Hello, World!"
val str2 = "Hello," + " World!"
println(str1 == str2) // Prints true

L'uguaglianza referenziale viene verificata con l'operatore === .

val str1 = """
    |Hello, World!
    """.trimMargin()

val str2 = """
    #Hello, World!
    """.trimMargin("#")

val str3 = str1

println(str1 == str2) // Prints true
println(str1 === str2) // Prints false
println(str1 === str3) // Prints true


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow