English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans cet article, vous apprendrez Kotlin chaînes de caractères, les modèles de chaînes et quelques propriétés et fonctions de chaînes couramment utilisées à l'aide d'exemples.
Les chaînes sont des séquences de caractères. Par exemple, "Hello there!" est une chaîne littérale.
En Kotlin, toutes les chaînes sont des objets de la classe String. Cela signifie que des chaînes littérales telles que "Hello here!" sont implémentées comme des instances de cette classe.
Voici la méthode pour définir une variable String en Kotlin. Par exemple,
val monString = "Hey there!"
Dans ce cas, monString est une variable de type String.
Vous pouvez déclarer une variable de type String et spécifier son type en une seule instruction, puis l'initialiser dans une autre instruction plus tard dans le programme.
val monString: String ... .. ... monString = "Howdy"
Pour accéder aux éléments (caractères) d'une chaîne, utilisez l'opérateur d'accès d'index. Par exemple,
val monString = "Hey there!" val item = myString[2]
Dans ce cas, la variable item contient le troisième caractère 'y' de la chaîne monString. Cela est dû au fait que les indices en Kotlin commencent à 0 au lieu de 1.
val monString = "Hey there!" var item: Char item = myString[0] // item = 'H' item = myString[9] // item = '!' item = myString[10] // Erreur ! Index de chaîne hors de portée item = myString[-1] // Erreur ! Index de chaîne hors de portée
Si vous avez besoin de parcourir les éléments d'une chaîne, vous pouvez utiliserBoucle forFacileRéalisation.
fun main(args: Array<String>) { val monString = "Hey!" for (item in monString) { println(item) } }
La sortie de l'exécution du programme est :
H e y !
Comme en Java, les chaînes de caractères sont immuables en Kotlin. Cela signifie que vous ne pouvez pas modifier un seul caractère d'une chaîne. Par exemple,
var monString = "Hey!" monString[0] = 'h' // Erreur ! Chaine
Cependant, si vous utilisez le mot-clé var pour déclarer une variable de chaîne, vous pouvez réaffecter cette variable. (Lecture recommandée:Kotlin var vs val)
fun main(args: Array<String>) { var monString = "Hey!" println("monString = $monString") monString = "Hello!" println("monString = $monString") }
La sortie de l'exécution du programme est :
myString = Hey! myString = Hello!
Un littéral est la représentation en source du valeur fixe. Par exemple, "Hey there!" est une chaîne littérale qui apparaît directement dans le programme sans nécessiter de calcul (commeVariable)
Il y a deux types de littéraux de chaînes en Kotlin :
Les caractères peuvent déjà être échappés dans une chaîne de caractères. Par exemple
val myString = "Hey there!\n"
Ici, \n est un caractère d'échappement, utilisé pour insérer un saut de ligne à l'endroit où il apparaît dans le texte.
Voici la liste des caractères d'échappement pris en charge par Kotlin :
\t - Insérer le tabulation
\b - Insérer le retour arrière
\n - Insérer le saut de ligne
\r - Insérer le retour chariot
\' - Insérer le caractère guillemet simple
\" - Insérer le caractère guillemet double
\\ - Insérer le caractère barre oblique
\$ - Insérer le caractère dollar
La chaîne de caractères originale peut contenir des retours chariot (non des retours chariot) et tout texte. La chaîne de caractères originale est séparée par trois guillemets """. Par exemple,
fun main(args: Array<String>) { val myString = """ for (character in "Hey!") println(character) """ print(myString) }
La sortie de l'exécution du programme est :
for (character in "Hey!") println(character)
Vous pouvez utiliser la fonction trimMargin() pour supprimer les espaces de début de la chaîne de caractères originale. Par exemple,
fun main(args: Array<String>) { println("Sortie sans la fonction trimMargin() :") val myString = """ |Kotlin est intéressant. |Kotlin est sponsorisé et développé par JetBrains. """ println(myString) println("Sortie avec la fonction trimMargin() :\n") println(myString.trimMargin()) }
La sortie de l'exécution du programme est :
Sortie sans la fonction trimMargin() : |Kotlin est intéressant. |Kotlin est sponsorisé et développé par JetBrains. Sortie avec la fonction trimMargin() : Kotlin est intéressant. Kotlin est sponsorisé et développé par JetBrains.
Par défaut, la fonction trimMargin() utilise | comme préfixe de marge. Mais vous pouvez le changer en passant une nouvelle chaîne de caractères à la fonction.
fun main(args: Array<String>) { val myString = """ !!! Kotlin est intéressant. !!! Kotlin est sponsorisé et développé par JetBrains. """ println(myString.trimMargin("!!! ")) }
La sortie de l'exécution du programme est :
Kotlin est intéressant. Kotlin est sponsorisé et développé par JetBrains.
Kotlin a une excellente fonctionnalité appelée modèle de chaîne, qui permet aux chaînes de caractères de contenir des expressions de modèle.
Les expressions de modèle de chaîne Kotlin commencent par le symbole $. Voici quelques exemples :
fun main(args: Array<String>) { val myInt = 5; val myString = "myInt = $myInt" println(myString) }
La sortie de l'exécution du programme est :
myInt = 5
C'est parce que l'expression de l'expression ${myInt} (une expression commençant par le symbole $) est évaluée et concaténée à la chaîne.
fun main(args: Array<String>) { val a = 5 val b = 6 val myString = """ |${if (${a} > ${b}) ${a} else ${b}} """ println("Le plus grand nombre est: ${myString.trimMargin()}") }
La sortie de l'exécution du programme est :
Le plus grand nombre est: 6
Les littéraux en Kotlin sont implémentés comme des instances de la classe String, donc vous pouvez utiliser plusieurs méthodes et propriétés de cette classe.
Propriété length - Retourne la longueur de la séquence de caractères de la chaîne.
Fonction compareTo -Compare cette chaîne de caractères (objet) avec l'objet spécifié. Si l'objet est égal à l'objet spécifié, retourne 0.
Fonction get - Retourne le caractère à l'indice spécifié. Vous pouvez utiliser l'opérateur d'accès à l'indice plutôt que la fonction get, car l'opérateur d'accès à l'indice appelle en interne la fonction get.
la fonction plus - Retourne une nouvelle chaîne de caractères, obtenue en concaténant cette chaîne de caractères avec la chaîne de caractères passée à cette fonction. Vous pouvez utiliser + L'opérateur remplace la fonction plus, car+L'opérateur appelle le fonction plus en arrière-plan.
Fonction subSequence - Retourne une nouvelle séquence de caractères à partir des indices de début et de fin spécifiés.
fun main(args: Array<String>) { val s1 = "Hey there!" val s2 = "Hey there!" var result: String println("s1La longueur de la chaîne de caractères est ${s1.length}) " result = if (${s1.compareTo(s2) == 0) "égal" else "inégal" println("La chaîne de caractères s1et s2est ${result}) // s1.get(2) équivaut à ${s1[2] println("Le troisième caractère est ${s1.get(2}) result = s1.plus(" How are you?") // result = s1 + "How are you?" println("result = " + result) println("La sous-chaîne est " + s1.subSequence(4, 7}} }
Lors de l'exécution du programme, la sortie est :
s1La longueur de la chaîne est 10. La chaîne s1et s2C'est égal. Le troisième caractère est y. result = Hey there! How are you? La sous-chaîne est "the"