English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Caractères et chaînes Swift

Dans ce tutoriel, vous apprendrez les caractères et les chaînes en Swift. Vous découvrirez également les différentes opérations que vous pouvez effectuer sur les chaînes et les caractères.

Qu'est-ce qu'un caractère ?

Un caractère est un symbole unique (lettre, chiffre, etc.). En Swift, un caractère est de type Character, il est déclaré ainsi :

let someCharacter:Character

Comment déclarer et assigner un caractère en Swift ?

Vous pouvez utiliser les guillemets doubles "" pour spécifier une valeur de type Character identique à une chaîne, mais à l'intérieur des guillemets, il ne peut y avoir qu'un seul caractère.

Si vous devez inclure plusieurs caractères, vous devez les définir comme String au lieu de Character.

Exemple1Déclaration et allocation de caractères

let someCharacter:Character = “H”
let specialCharacter:Character = “@”
print(someCharacter)
print(specialCharacter)

Lorsque ce programme est exécuté, la sortie est :

H
@

Exemple2Allouer plusieurs caractères (invalid)

Mais, si vous essayez d'allouer deux symboles à l'intérieur d'un

/*
 Cela donnera une erreur.
Changer le type en chaîne peut corriger ce problème.
*/
let failableCharacter:Character = "H@"
print(failableCharacter)

Lorsque vous essayez d'exécuter le code ci-dessus, vous recevrez le message d'erreur suivant :

Cannot convert value of type String to Character. (Impossible de convertir la valeur de type String en caractère.)

Créer un caractère avec Unicode et séquence d'échappement

Vous pouvez également utiliser unicodes pour créer des types de caractères spéciaux pour les emojis. Vous pouvez créer des unicode (code point unicode, n en hexadécimal) en utilisant la séquence d'échappement \u {n}.

Exemple3Créer un caractère unicode

let heartShape:Character = "\u{2665"
print(heartShape)

Lorsque ce programme est exécuté, la sortie est :

Dans l'exemple précédent, à partir du code U + 2665Un cœur a été créé. Bien que\u {2665} est inclus dans les guillemets doubles, mais le compilateur ne le considère pas comme String, car nous avons utilisé la séquence d'échappement \u {n}. Les séquences d'échappement incluses dans le texte ne représentent pas elles-mêmes.

Qu'est-ce qu'une chaîne ?

Les chaînes de caractères sont des ensembles de caractères. En Swift, les chaînes sont de type String et sont déclarées ainsi :

let someString:String

Comment déclarer et allouer une chaîne en Swift ?

Vous pouvez utiliserLittéraux de chaîneAllouer une valeur de type String. Les chaînes littérales sont des ensembles de caractères entourés de guillemets doubles "".

Exemple4Déclaration et allocation de chaîne

let someString:String = "Hello, world!"
let someMessage = "Je aime Swift."
print(someString)
print(someMessage)

Lorsque ce programme est exécuté, la sortie est :

Hello, world!
I love Swift.

Ici, "Hello, world!" et "i love Swift." sont respectivement les chaînes de caractères utilisées pour créer les variables de chaîne someString et someMessage.

Opérations sur les chaînes de caractères

String contient certains fonctions et propriétés intégrés pour traiter les opérations les plus courantes. Par exemple : pour joindre des chaînes, les convertir en majuscule ou en minuscule. Explorons ci-dessous quelques opérations courantes :

Comparaison de chaînes de caractères

Vous pouvez utiliserOpérateurs de comparaison (==) Vérifie simplement si deux chaînes de caractères sont égales. Si les deux chaînes sont égales, l'opérateur retourne true, sinon il retourne false.

Exemple5:Comparaison de chaînes en Swift

let someString = "Hello, world!"
let someMessage = "Je aime Swift."
let someAnotherMessage = "Hello, world!"
print(someString == someMessage)
print(someString == someAnotherMessage)

Lorsque ce programme est exécuté, la sortie est :

false
true

concaténation de chaînes

Vous pouvez utiliseropérateur d'addition (+) ou utiliseropérateur d'affectation composé (+=) pour ajouter deux valeurs de chaînes différentes. Vous pouvez également utiliser la méthode append pour ajouter un caractère à une chaîne/chaîne.

Exemple6:Concaténation de chaînes en Swift

let helloStr = "Hello, "
let worldStr = "World"
var result = helloStr + worldStr
print(result)
result.append("!")
print(result)

Lorsque ce programme est exécuté, la sortie est :

Hello, World
Hello, world!

Dans le programme ci-dessus, nous avons ajouté et utilisé+opérateur crée unchaîne result. Par conséquent, helloStrworldStrprint(result) afficheHello, World.

Vous pouvez également utiliser la méthode append pour ajouter tout caractère ou chaîne. result.append("!") ajoute un caractère ! à la fin de la chaîne. Par conséquent, print(result) afficheHello, World !.

Concaténation de chaînes en utilisant des opérateurs d'affectation avancés

Nous pouvons également utiliser des opérateurs d'affectation avancés (+ =) pour joindre des chaînes.

Exemple7:Utilisez+ Concaténation de chaînes avec l'opérateur =

var helloStr = "Hello, "
let worldStr = "World!"
helloStr += worldStr
print(helloStr)

Lorsque ce programme est exécuté, la sortie est :

Hello, world!

Notez que var a été utilisé dans helloStr au lieu de let. Si vous avez déjà défini la constante helloStr avec let, vous ne pouvez plus utiliser += opérateur change cela et finit par générer une erreur. Par conséquent, vous devez définir la variable helloStr.

Interpolation de chaîne

C'est un processus simple, une littéralité de chaîne, incluant des variables, des constantes, etc. Supposons que vous ayez un nom de joueur et un score stockés dans deux constantes, comme suit:

let playerName = "Jack"
let playerScore = 99

Maintenant, vous devez afficher un message aux joueurs, "félicitationsJack!Votre score le plus élevé est99。” Ici, vous avez besoin d'une méthode pour utiliser la valeur d'une constante dans une seule chaîne.

Cela peut être réalisé en utilisant la concaténation de chaînes :

let congratsMessage = "Félicitations" + playerName + "! Votre score le plus élevé est" + playerScore + "."
print(congratsMessage)

Mais, ce mode est moins lisible.

Donc, il existe une méthode simple pour afficher un message en utilisant la interpolation de chaînes. L'interpolation est le processus d'inclusion de la valeur d'une variable ou d'une constante dans une chaîne littérale.

Les variables ou les constantes à insérer dans une chaîne littérale doivent être encadrées par un couple de parenthèses ( ) et précédées d'un antislash (\).

Exemple8:Swift中的字符串插值

let playerName = "Jack"
let playerScore = 99
let congratsMessage = "Félicitations\(playerName) !. Votre score le plus élevé est \(playerScore)"
print(congratsMessage)

Lorsque ce programme est exécuté, la sortie est :

Félicitations, Jack !. Votre score le plus élevé est 99.

Fonctions et propriétés intégrées des chaînes :

1. isEmpty(判断是否为空)

Cette fonction détermine si une chaîne est vide. Elle renvoie true si la chaîne est vide, sinon renvoie false.

Exemple9:isEmpty

var emptyString = ""
print(emptyString.isEmpty)

Lorsque ce programme est exécuté, la sortie est :

true

2.capitalized(单词大写)

Cette propriété est utilisée pour rendre chaque mot d'une chaîne en majuscules.

Exemple10:大写

let someString = "hello, world!"
print(someString.capitalized)

Lorsque ce programme est exécuté, la sortie est :

Hello, world!

3.uppercased et lowercased(字符串大写和小写)

La fonction en majuscule convertit une chaîne en majuscules, et la fonction en minuscules convertit une chaîne en minuscules.

Exemple11:uppercased()和lowercased()

let someString = "Hello, World!"
print(someString.uppercased())
print(someString.lowercased())

Lorsque ce programme est exécuté, la sortie est :

HELLO, world!
hello, world!

4.count (计数/Longueur)

Cette propriété est utilisée pour calculer le nombre total de caractères dans une chaîne.

Exemple12:计数

let someString = "Hello, World!"
print(someString.count)

Lorsque ce programme est exécuté, la sortie est :

13

5. hasPrefix

Cette fonction détermine si une chaîne de caractères commence par un caractère spécifique et renvoie une valeur booléenne. Si le préfixe de la chaîne correspond à la valeur fournie, renvoie true, sinon renvoie false.

Exemple13:hasPrefix()

let someString = "Hello, World!"
print(someString.hasPrefix("Hell"))
print(someString.hasPrefix("hell"))

Lorsque ce programme est exécuté, la sortie est :

true
false

6. hasSuffix

Cette fonction détermine si une chaîne se termine par des caractères spécifiques et renvoie une valeur booléenne. Si l'appendice de la chaîne correspond à la valeur fournie, elle renvoie true, sinon false.

Exemple14:hasSuffix()

print(someString.hasSuffix("rld!"))
print(someString.hasSuffix("Rld!"))

Lorsque ce programme est exécuté, la sortie est :

true
false