Swift - Cordes
Les chaînes de Swift 4 sont une collection ordonnée de caractères, tels que "Hello, World!" et ils sont représentés par le type de données Swift 4String, qui à son tour représente un ensemble de valeurs de Character type.
Créer une chaîne
Vous pouvez créer une chaîne en utilisant une chaîne littérale ou en créant une instance d'une classe String comme suit -
// String creation using String literal
var stringA = "Hello, Swift 4!"
print( stringA )
// String creation using String instance
var stringB = String("Hello, Swift 4!")
print( stringB )
//Multiple line string
let stringC = """
Hey this is a
example of multiple Line
string by tutorialsPoint
"""
print(stringC)
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant
Hello, Swift 4!
Hello, Swift 4!
Hey this is a
example of multiple Line
string by tutorialsPoint
Chaîne vide
Vous pouvez créer une chaîne vide en utilisant une chaîne littérale vide ou en créant une instance de la classe String comme indiqué ci-dessous. Vous pouvez également vérifier si une chaîne est vide ou non en utilisant la propriété BooleanisEmpty.
// Empty string creation using String literal
var stringA = ""
if stringA.isEmpty {
print( "stringA is empty" )
} else {
print( "stringA is not empty" )
}
// Empty string creation using String instance
let stringB = String()
if stringB.isEmpty {
print( "stringB is empty" )
} else {
print( "stringB is not empty" )
}
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -
stringA is empty
stringB is empty
Constantes de chaîne
Vous pouvez spécifier si votre chaîne peut être modifiée (ou mutée) en l'affectant à une variable, ou elle sera constante en l'affectant à une constante en utilisant let mot-clé comme indiqué ci-dessous -
// stringA can be modified
var stringA = "Hello, Swift 4!"
stringA + = "--Readers--"
print( stringA )
// stringB can not be modified
let stringB = String("Hello, Swift 4!")
stringB + = "--Readers--"
print( stringB )
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -
Playground execution failed: error: <EXPR>:10:1: error: 'String' is not
convertible to '@lvalue UInt8'
stringB + = "--Readers--"
Interpolation de chaîne
L'interpolation de chaîne est un moyen de construire une nouvelle valeur String à partir d'un mélange de constantes, de variables, de littéraux et d'expressions en incluant leurs valeurs dans un littéral de chaîne.
Chaque élément (variable ou constante) que vous insérez dans le littéral de chaîne est entouré d'une paire de parenthèses, précédé d'une barre oblique inverse. Voici un exemple simple -
var varA = 20
let constA = 100
var varC:Float = 20.0
var stringA = "\(varA) times \(constA) is equal to \(varC * 100)"
print( stringA )
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -
20 times 100 is equal to 2000.0
Concaténation de chaînes
Vous pouvez utiliser l'opérateur + pour concaténer deux chaînes ou une chaîne et un caractère, ou deux caractères. Voici un exemple simple -
let constA = "Hello,"
let constB = "World!"
var stringA = constA + constB
print( stringA )
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -
Hello,World!
Longueur de chaine
Les cordes Swift 4 n'ont pas de lengthpropriété, mais vous pouvez utiliser la fonction global count () pour compter le nombre de caractères dans une chaîne. Voici un exemple simple -
var varA = "Hello, Swift 4!"
print( "\(varA), length is \((varA.count))" )
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -
Hello, Swift 4!, length is 15
Comparaison des chaînes
Vous pouvez utiliser l'opérateur == pour comparer deux variables ou constantes de chaînes. Voici un exemple simple -
var varA = "Hello, Swift 4!"
var varB = "Hello, World!"
if varA == varB {
print( "\(varA) and \(varB) are equal" )
} else {
print( "\(varA) and \(varB) are not equal" )
}
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -
Hello, Swift 4! and Hello, World! are not equal
Itération de chaîne
Les chaînes sont à nouveau une collection de valeurs dans swift 4, nous pouvons donc itérer sur une chaîne en utilisant des boucles. -
for chars in "ThisString" {
print(chars, terminator: " ")
}
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -
T h i s S t r i n g
Chaînes Unicode
Vous pouvez accéder à une représentation UTF-8 et UTF-16 d'une chaîne en itérant sur ses propriétés utf8 et utf16 comme illustré dans l'exemple suivant -
var unicodeString = "Dog???"
print("UTF-8 Codes: ")
for code in unicodeString.utf8 {
print("\(code) ")
}
print("\n")
print("UTF-16 Codes: ")
for code in unicodeString.utf16 {
print("\(code) ")
}
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -
UTF-8 Codes:
68
111
103
63
63
63
UTF-16 Codes:
68
111
103
63
63
63
Fonctions et opérateurs de chaîne
Swift 4 prend en charge un large éventail de méthodes et d'opérateurs liés aux chaînes -
Sr.Non | Fonctions / opérateurs et objectif |
---|---|
1 | isEmpty Valeur booléenne qui détermine si une chaîne est vide ou non. |
2 | hasPrefix(prefix: String) Fonction pour vérifier si une chaîne de paramètres donnée existe ou non en tant que préfixe de la chaîne. |
3 | hasSuffix(suffix: String) Fonction pour vérifier si une chaîne de paramètres donnée existe ou non en tant que suffixe de la chaîne. |
4 | toInt() Fonction pour convertir la valeur de chaîne numérique en nombre entier. |
5 | count() Fonction globale pour compter le nombre de caractères dans une chaîne. |
6 | utf8 Propriété pour renvoyer une représentation UTF-8 d'une chaîne. |
sept | utf16 Propriété pour renvoyer une représentation UTF-16 d'une chaîne. |
8 | unicodeScalars Propriété pour renvoyer une représentation Unicode Scalar d'une chaîne. |
9 | + Opérateur pour concaténer deux chaînes, ou une chaîne et un caractère, ou deux caractères. |
dix | += Opérateur pour ajouter une chaîne ou un caractère à une chaîne existante. |
11 | == Opérateur pour déterminer l'égalité de deux chaînes. |
12 | < Opérateur pour effectuer une comparaison lexicographique pour déterminer si une chaîne est évaluée comme inférieure à une autre. |
13 | startIndex Pour obtenir la valeur au début de l'index de la chaîne. |
14 | endIndex Pour obtenir la valeur à la fin de l'index de la chaîne. |
15 | Indices Pour accéder aux indéces une à une. c'est à dire tous les caractères de la chaîne un par un. |
16 | insert("Value", at: position) Pour insérer une valeur à une position. |
17 | remove(at: position) removeSubrange(range) pour supprimer une valeur à une position ou pour supprimer une plage de valeurs d'une chaîne. |
18 | reversed() renvoie l'inverse d'une chaîne |