Menu
Coddy logo textTech

Itérer sur les chaînes P1

Fait partie de la section Fondamentaux du Journey Swift de Coddy — leçon 71 sur 86.

Tout comme les tableaux, les chaînes de caractères en Swift sont des séquences de caractères sur lesquelles vous pouvez itérer. Cela facilite le traitement du texte un caractère à la fois en utilisant la boucle for-in familière.

Lorsque vous parcourez une chaîne de caractères, Swift vous donne chaque caractère dans l'ordre :

let word = "Hello"

for char in word {
    print(char)
}
// H
// e
// l
// l
// o

Chaque char dans la boucle est de type Character, et non String. Cette distinction est importante lorsque vous devez comparer ou manipuler des caractères individuels.

Vous pouvez utiliser cette technique pour analyser du texte, par exemple pour compter des caractères spécifiques :

let message = "banana"
var countA = 0

for char in message {
    if char == "a" {
        countA += 1
    }
}

print(countA)  // 3

Remarquez que lors de la comparaison d'un caractère, nous utilisons un seul caractère entre guillemets comme "a". Swift traite automatiquement cela comme un Character lors de la comparaison avec un autre caractère.

challenge icon

Défi

Facile

Écrivez une fonction countVowels qui prend text et renvoie le nombre total de voyelles dans la chaîne.

Parcourez chaque caractère de la chaîne et comptez combien sont des voyelles (a, e, i, o, u). Comptez à la fois les voyelles minuscules et majuscules.

Paramètres :

  • text (String) : La chaîne à analyser

Retourne : Le nombre total de voyelles trouvées dans la chaîne (Int)

Exemple : Si text est "Hello World", la fonction doit retourner 3 (les voyelles sont e, o, o).

Aide-mémoire

Vous pouvez itérer sur une chaîne de caractères en utilisant une boucle for-in pour traiter chaque caractère :

let word = "Hello"

for char in word {
    print(char)
}
// H
// e
// l
// l
// o

Chaque char dans la boucle est de type Character, et non String.

Vous pouvez comparer des caractères directement dans des conditions :

let message = "banana"
var countA = 0

for char in message {
    if char == "a" {
        countA += 1
    }
}

print(countA)  // 3

Essayez vous-même

func countVowels(text: String) -> Int {
    // Écrire le code ici
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux