Chaînes de caractères Swift
Une chaîne Swift est une collection d'une série de caractères. Par exemple, une collection ordonnée de valeurs de type caractère telles que "Hello, World!", dont le type de données estString。
Création de chaînes
Vous pouvez créer une chaîne en utilisant un littéral de chaîne ou une instance de la classe String :
import Cocoa
// 使用字符串字面量
var stringA = "Hello, World!"
print( stringA )
// String 实例化
var stringB = String("Hello, World!")
print( stringB )
La sortie de l'exécution du programme ci-dessus est :
Hello, World! Hello, World!
Chaînes vides
Vous pouvez affecter un littéral de chaîne vide à une variable ou initialiser une instance de la classe String pour initialiser une chaîne vide. Nous pouvons utiliser la propriété de chaîne isEmpty pour déterminer si la chaîne est vide :
import Cocoa
// 使用字符串字面量创建空字符串
var stringA = ""
if stringA.isEmpty {
print( "stringA 是空的" )
} else {
print( "stringA 不是空的" )
}
// 实例化 String 类来创建空字符串
let stringB = String()
if stringB.isEmpty {
print( "stringB 是空的" )
} else {
print( "stringB 不是空的" )
}
La sortie de l'exécution du programme ci-dessus est :
stringA 是空的 stringB 是空的
Constantes de chaînes
Vous pouvez affecter une chaîne à une variable ou à une constante. Les variables sont modifiables, tandis que les constantes ne sont pas modifiables.
import Cocoa
// stringA 可被修改
var stringA = "Example:"
stringA += "http://www.example.com"
print( stringA )
// stringB 不能修改
let stringB = String("Example:")
stringB += "http://www.example.com"
print( stringB )
La sortie de l'exécution du programme ci-dessus entraînera une erreur car stringB est une constante et ne peut pas être modifiée :
error: left side of mutating operator isn't mutable: 'stringB' is a 'let' constant stringB += "http://www.example.com"
Interpolation de chaînes de caractères
L'interpolation de chaînes est un moyen de construire une nouvelle chaîne, qui peut inclure des constantes, des variables, des littéraux et des expressions. Chaque élément du littéral de chaîne que vous insérez est entre parenthèses précédées d'une barre oblique inverse :
import Cocoa var varA = 20 let constA = 100 var varC:Float = 20.0 var stringA = "\(varA) 乘于 \(constA) 等于 \(varC * 100)" print( stringA )
La sortie de l'exécution du programme ci-dessus est :
20 乘于 100 等于 2000.0
Concaténation de chaînes
Les chaînes peuvent être concaténées à l'aide de l'opérateur+, comme montré dans l'exemple suivant :
import Cocoa let constA = "Example:" let constB = "http://www.example.com" var stringA = constA + constB print( stringA )
La sortie de l'exécution du programme ci-dessus est :
Example:http://www.example.com
Longueur de String
La longueur d'une chaîne est calculée à l'aide de la propriétéString.count, comme montré dans l'exemple suivant :
La version Swift 3 utilise String.characters.count
import Cocoa var varA = "www.example.com" print( "\(varA), 长度为 \(varA.count)" )
La sortie de l'exécution du programme ci-dessus est :
www.example.com, 长度为 14
Comparaison de chaînes
Vous pouvez utiliser==pour comparer si deux chaînes sont égales :
import Cocoa
var varA = "Hello, Swift!"
var varB = "Hello, World!"
if varA == varB {
print( "\(varA) 与 \(varB) 是相等的" )
} else {
print( "\(varA) 与 \(varB) 是不相等的" )
}
La sortie de l'exécution du programme ci-dessus est :
Hello, Swift! 与 Hello, World! 是不相等的
Chaînes Unicode
Unicode est une norme internationale utilisée pour l'encodage de texte. Le type String de Swift est construit sur la base d'Unicode. Vous pouvez parcourir les encodages UTF-8 et UTF-16 dans une chaîne, comme montré dans l'exemple suivant :
import Cocoa
var unicodeString = "Example"
print("UTF-8 编码: ")
for code in unicodeString.utf8 {
print("\(code) ")
}
print("\n")
print("UTF-16 编码: ")
for code in unicodeString.utf16 {
print("\(code) ")
}
La sortie de l'exécution du programme ci-dessus est :
UTF-8 编码: 232 143 156 233 184 159 230 149 153 231 168 139 UTF-16 编码: 33756 40479 25945 31243
Fonctions et opérateurs de chaînes de caractères
Swift prend en charge les fonctions et opérateurs de chaînes suivants :
| N° de série | Fonction/Opérateur & Description |
|---|---|
| 1 | isEmpty Vérifie si la chaîne est vide, renvoie une valeur booléenne |
| 2 | hasPrefix(prefix: String) Vérifie si la chaîne possède un préfixe spécifique |
| 3 | hasSuffix(suffix: String) Vérifie si la chaîne possède un suffixe spécifique. |
| 4 | Int(String) Convertit une chaîne numérique en entier. Exemple : let myString: String = "256" let myInt: Int? = Int(myString) |
| 5 | String.count La version Swift 3 utilise String.characters.count Calcule la longueur de la chaîne |
| 6 | utf8 Vous pouvez accéder à l'encodage UTF-8 d'une String en itérant sur sa propriété utf8 |
| 7 | utf16 Vous pouvez accéder à l'encodage UTF-16 d'une String en itérant sur sa propriété utf16 |
| 8 | unicodeScalars Vous pouvez accéder à l'encodage des scalaires Unicode d'une valeur String en itérant sur sa propriété unicodeScalars. |
| 9 | + Concatène deux chaînes et renvoie une nouvelle chaîne |
| 10 | += Concatène les chaînes de part et d'autre de l'opérateur et affecte la nouvelle chaîne à la variable à gauche de l'opérateur |
| 11 | == Détermine si deux chaînes sont égales |
| 12 | < Compare deux chaînes, en comparant les caractères des deux chaînes un par un. |
| 13 | != Détermine si deux chaînes ne sont pas égales. |