Les Strings
Apprendre l'utilisation et la manipulation des chaînes de caractères.
Le type String est une chaîne de caractères, comme par exemple :
- “Salut les codeurs”
- “Hello world”
- “A”
- “12”
Tous les caractères mis entre des guillemets. Et oui, le “12” mis entre guillemets n'est pas un Int mais une String. “” est aussi une String, vide, mais c'est une String.
Déclarer une String
Nous pouvons la déclarer avec ou sans son type. Swift gérera automatiquement son type avec ou sans valeur.
var firstString = "Salut les codeurs"
var secondString: String = "Comment allez-vous?"
var thirdString: String
Sur plusieurs lignes
Et si vous voulez faire une String sur plusieurs lignes ? Dans ce cas, il existe plusieurs façons :
- Ajouter
\npour un saut à la ligne. Il s'agit de ce que l'on appelle les caractères d'échappement (ou escaping characters). - Utiliser le triple
""".
var multiline1 = "Salut\nComment allez vous?"
print(multiline1)
var multiline2 = """
Salut les codeurs
Alors, vous aimez Swift?
"""
print(multiline2)
Initialiser une String sans valeur
Initialiser une String sans valeur peut être risqué, une string sans valeur (nil) causera une erreur et donc un crash de votre application. Mieux vaut initialiser une String vide ou avec un constructeur de classe.
var str = ""
var alternateStr = String()
Mutabilité des String
Cela signifie que l'on peut modifier, faire muter notre chaîne de caractères. On peut accoler une valeur à la valeur d'une String avec l'opérateur +=.
var str = "Apprenons la mutabilité"
str += " en ajoutant par exemple ce texte."
print(str)
Concaténation
Pour modifier une String, nous pouvons aussi utiliser la concaténation : c'est-à-dire ajouter une string à une autre avec l'opérateur +.
var first = "Matthieu"
var last = "Codabee"
var full = first + last
print(full)
var proto = "https://www."
var domain = "codabee"
var suffix = ".com"
var urlString = proto + domain + suffix
print(urlString)
Là nous obtenons MatthieuCodabee. Les 2 Strings ont été accolées et nous n'avons pas dit à Swift d'ajouter un espace. Faisons plutôt ceci :
var first = "Matthieu"
var last = "Codabee"
var full = first + " " + last
print(full)
La String interpolation
Pour intégrer une valeur String ou non dans une String, nous utilisons \(). La valeur à intégrer sera entre les parenthèses.
var age = 25
var name = "Billy"
var strInterpolation = "Salut, je m'appelle \(name) et j'ai \(age)."
print(strInterpolation)
Accès aux caractères
Nous pouvons aussi accéder aux caractères d'une String. Passons à travers chaque caractère grâce à une boucle.
var myCat = "Athena"
for character in myCat {
print(character)
}
Nous pouvons aussi compter le nombre de caractères dans une String en ajoutant .count après le nom de la variable.
var myCat = "Athena"
print(myCat.count)
Jouer avec la "casse"
La casse en programmation représente le fait de mettre un caractère en majuscule ou minuscule. On dit d'ailleurs qu'une String est sensible à la casse car lors de comparaison, chat est différent de CHAT.
On a plusieurs méthodes pour jouer avec la casse :
uppercased()pour mettre en majuscule.lowercased()pour mettre en minuscule.capitalizedpour mettre une majuscule en début de chaque mot.
var phrase = "SalUT LeS cOdeuRs"
print(phrase.uppercased())
print(phrase.lowercased())
print(phrase.capitalized)
Autres
Voir si une String est vide avec isEmpty.
var phrase = "Phrase de Test"
print(phrase.isEmpty)
Remplacer des caractères avec replacingOccurrences(of: "recherche", with: "remplacement").
var phrase = "Phrase de Test"
print(phrase.replacingOccurrences(of: "e", with: "euuu"))
Il existe bien d'autres méthodes pour modifier des Strings. Avec ce que nous avons vu, c'est ce que vous utiliserez 80% du temps.