Dans ce didacticiel, vous découvrirez l'utilisation des caractères et des chaînes dans Swift. Vous apprendrez également différentes opérations pouvant être effectuées sur des chaînes et des caractères.
Qu'est-ce qu'un personnage?
Un caractère est un symbole unique (lettre, chiffre, etc.). Les caractères en swift sont de Character
type et sont déclarés comme:
laissez someCharacter: Character
Comment déclarer et attribuer un personnage dans Swift?
Vous pouvez attribuer une valeur de type Caractère identique à String en utilisant des guillemets doubles, " "
mais elle ne doit contenir qu'un seul caractère entre les guillemets " "
.
Si vous devez inclure plus d'un caractère, vous devez le définir à la String
place de Character
.
Exemple 1: déclarer et attribuer un caractère
let someCharacter:Character = “H” let specialCharacter:Character = “@” print(someCharacter) print(specialCharacter)
Lorsque vous exécutez le programme, la sortie sera:
H @
Exemple 2: attribuer plus d'un caractère (ne fonctionne pas)
Mais si vous essayez d'attribuer deux symboles à l'intérieur du caractère comme
/* This will give an error Changing the type to String will fix it. */ let failableCharacter:Character = "H@" print(failableCharacter)
Lorsque vous essayez d'exécuter le code ci-dessus, vous obtiendrez une erreur comme:
Impossible de convertir la valeur de type String en Character.
Création de caractère à l'aide d'unicode et d'une séquence d'échappement
Vous pouvez également créer un type spécial de caractères pour.eg emoji en utilisant unicodes. Vous pouvez créer un Unicode en utilisant la séquence d'échappement u (n) (point de code Unicode, n est en hexadécimal).
Exemple 3: création d'un caractère unicode
let heartShape:Character = "u(2665)" print(heartShape)
Lorsque vous exécutez le programme, la sortie sera:
♥
Dans l'exemple ci-dessus, un caractère en forme de cœur a été créé à partir du code U+2665
. Bien qu'il u(2665)
soit inclus entre guillemets, le compilateur ne le traite pas comme un String
car nous avons utilisé une séquence d'échappement u(n)
. Une séquence d'échappement ne se représente pas lorsqu'elle est incluse dans un littéral.
Qu'est-ce qu'une chaîne?
Une chaîne est simplement une collection de caractères. Les chaînes de Swift sont de String
type et déclarées comme:
laissez someString: String
Comment déclarer et attribuer une chaîne dans Swift?
Vous pouvez attribuer une valeur de type String à l'aide de littéraux de chaîne. Une chaîne littérale est une collection de caractères entourés de guillemets doubles " "
.
Exemple 4: déclarer et affecter une chaîne
let someString:String = "Hello, world!" let someMessage = "I love Swift." print(someString) print(someMessage)
Lorsque vous exécutez le programme, la sortie sera:
Bonjour le monde! J'adore Swift.
Ici, les deux "Hello, world!"
et "I love Swift."
sont des littéraux de chaîne utilisés pour créer respectivement des variables de chaîne someString et someMessage.
Opérations sur une chaîne
Il existe des fonctions et des propriétés intégrées dans String pour gérer les opérations les plus fréquemment utilisées. Par exemple: pour joindre des chaînes, changez-le en majuscule ou mettez-le en majuscule. Explorons ci-dessous quelques opérations fréquemment utilisées:
Comparaison de chaînes
Vous pouvez simplement vérifier si deux chaînes sont égales ou non à l'aide de l'opérateur de comparaison (==)
. L'opérateur renvoie des retours true
si les deux chaînes sont égales, sinon il retourne false
.
Exemple 5: comparaison de chaînes dans Swift
let someString = "Hello, world!" let someMessage = "I love Swift." let someAnotherMessage = "Hello, world!" print(someString == someMessage) print(someString == someAnotherMessage)
Lorsque vous exécutez le programme, la sortie sera:
faux vrai
Concaténation de chaînes
Deux valeurs de chaînes différentes peuvent être ajoutées avec l'opérateur d'addition (+)
ou à l'aide de l'opérateur d'affectation composé (+=)
. Vous pouvez également ajouter un caractère / une chaîne dans une chaîne à l'aide de append
method.
Exemple 6: concaténation de chaînes dans Swift
let helloStr = "Hello, " let worldStr = "World" var result = helloStr + worldStr print(result) result.append("!") print(result)
Lorsque vous exécutez le programme, la sortie sera:
Bonjour le monde Bonjour le monde!
Dans le programme ci-dessus, nous avons créé un résultat de chaîne en ajoutant helloStr et worldStr à l'aide de l'opérateur +. Ainsi, print(result)
sorties Bonjour, monde dans l'écran.
Vous pouvez également ajouter n'importe quel caractère ou chaîne à l'aide de append
method. result.append("!")
ajoute un !
caractère à la fin de la chaîne. Donc, print(result)
sorties Hello, World! sur l'écran.
Concaténation de chaînes à l'aide d'un opérateur d'affectation avancé
Nous pouvons également utiliser l'opérateur d'affectation avancé (+ =) pour ajouter une chaîne.
Exemple 7: Concaténation de chaînes à l'aide de l'opérateur + =
var helloStr = "Hello, " let worldStr = "World!" helloStr += worldStr print(helloStr)
Lorsque vous exécutez le programme, la sortie sera:
Bonjour le monde!
Notez l'utilisation de var au lieu de let dans helloStr. Si vous avez défini helloStr une constante à l'aide de let, vous ne pouvez pas la modifier ultérieurement à l'aide de l' +=
opérateur et éventuellement obtenir une erreur. Donc, vous devez définir helloStr une variable.
Interpolation de chaîne
Il s'agit d'un processus simple d'évaluation d'une chaîne littérale composée de variables, de constantes, etc. Imaginez que le nom et le score du joueur soient stockés dans deux constantes comme:
laissez playerName = "Jack" laissez playerScore = 99
Maintenant, vous devez afficher un message au joueur comme «Félicitations Jack! Ici, vous devez trouver un moyen d'utiliser les valeurs des constantes dans une seule chaîne.
This can be achieved using string concatenation as:
let congratsMessage = "Congratulations " + playerName + "!. Your highest score is " + playerScore + "." print(congratsMessage)
However, you can see this can get messy pretty soon. You have to take care of the spaces after the word Congratulations
, is
. Also, if you have to use more than two constants/variables, it will get unreadable.
There’s an easier way to display the message using string interpolation. Interpolation is the process to include value of a variable or constant inside string literal.
The variable or constant that should insert into the string literal is wrapped in a pair of parentheses ( )
, prefixed by a backslash ()
.
Example 8: String interpolation in Swift
let playerName = "Jack" let playerScore = 99 let congratsMessage = "Congratulations (playerName)!. Your highest score is (playerScore)." print(congratsMessage)
When you run the program, the output will be:
Congratulations Jack!. Your highest score is 99.
Some helpful built-in String functions & variables:
1. isEmpty
This function determines if a string is empty or not. It returns true
if the string is empty otherwise, it returns false
.
Example 9: isEmpty
var emptyString = "" print(emptyString.isEmpty)
When you run the program, the output will be:
true
2. capitalized
This property is used to capitalize every word in a string.
Example 10: capitalized
let someString = "hello, world!" print(someString.capitalized)
When you run the program, the output will be:
Hello, World!
3. uppercased and lowercased
The uppercased function converts string to uppercase letter and the lowercased function converts string to lowercase letter.
Example 11: uppercased() and lowercased()
let someString = "Hello, World!" print(someString.uppercased()) print(someString.lowercased())
When you run the program, the output will be:
HELLO, WORLD! hello, world!
4. Length/count
This property is used to count the total number of characters in a string.
Example 12: count
let someString = "Hello, World!" print(someString.count)
When you run the program, the output will be:
13
5. hasPrefix
Cette fonction détermine si une chaîne commence par certains caractères ou non et renvoie une valeur booléenne. Il renvoie true
si le préfixe de chaîne correspond à la valeur fournie, sinon renvoie false
.
Exemple 13: hasPrefix ()
let someString = "Hello, World!" print(someString.hasPrefix("Hell")) print(someString.hasPrefix("hell"))
Lorsque vous exécutez le programme, la sortie sera:
vrai faux
6. hasSuffix
Cette fonction détermine si une chaîne se termine par certains caractères ou non et renvoie une valeur booléenne. Il renvoie true
si le suffixe de chaîne correspond à la valeur fournie, sinon renvoie false
.
Exemple 14: hasSuffix ()
print(someString.hasSuffix("rld!")) print(someString.hasSuffix("Rld!"))
Lorsque vous exécutez le programme, la sortie sera:
vrai faux