Recherche…


Éléments de ficelle

Les éléments de chaîne sont des caractères accessibles par la string[index] opération d'indexation string[index] .

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

Les éléments de chaîne peuvent être itérés avec une boucle for.

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

Littéraux de chaîne

Kotlin a deux types de littéraux de chaîne:

  • Ficelle échappé
  • Chaîne brute

Chaîne échappée gère les caractères spéciaux en leur échappant. L'échappement se fait avec une barre oblique inverse. Les séquences d'échappement suivantes sont prises en charge: \t , \b , \n , \r , \' , \" , \\ et \$ . Pour coder tout autre caractère, utilisez la syntaxe de séquence d'échappement Unicode: \uFF00 .

val s = "Hello, world!\n"

Chaîne brute délimitée par un triple guillemet """ , ne contient aucun échappement et peut contenir des nouvelles lignes et tout autre caractère

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

Les espaces blancs peuvent être supprimés avec la fonction trimMargin () .

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

Le préfixe de marge par défaut est le caractère de tuyau | , cela peut être défini comme paramètre de trimMargin; eg trimMargin(">") .

Modèles de chaînes

Les chaînes d'échappement et les chaînes brutes peuvent contenir des expressions de modèle. L'expression de modèle est un élément de code évalué et son résultat est concaténé en chaîne. Il commence par un signe dollar $ et se compose soit d'un nom de variable:

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

Ou une expression arbitraire entre accolades:

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

Pour inclure un signe littéral dans une chaîne, échappez-le en utilisant une barre oblique inverse:

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

L'exception concerne les chaînes brutes, qui ne prennent pas en charge l'échappement. Dans les chaînes brutes, vous pouvez utiliser la syntaxe suivante pour représenter un symbole dollar.

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

Égalité de chaîne

Dans Kotlin, les chaînes sont comparées avec l'opérateur == qui chect pour leur égalité structurelle.

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

L'égalité référentielle est vérifiée avec l'opérateur === .

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
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow