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
// oChaque 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) // 3Remarquez 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.
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
// oChaque 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) // 3Essayez vous-même
func countVowels(text: String) -> Int {
// Écrire le code ici
}
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
4Opérateurs - Partie 1
Opérateurs arithmétiquesOpérateur ModuloAffectation composéeRécapitulatif - Mathématiques simplesOpérateurs de comparaison7Entrées/Sorties de base
Fonction PrintInterpolation de chaînesSaisie ReadLineConversion de typesRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux10Fonctions
Déclarer une fonctionParamètres et argumentsValeurs de retourÉtiquettes d'argumentRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validationValeurs par défaut13Itération sur les séquences
Itérer sur les élémentsLa méthode d'énumérationItérer sur les chaînes P1Itérer sur les chaînes P22Variables
Let vs VarAnnotations de typeNombresStringsBooléensConventions de nommageRécapitulatif - Initialiser des variables5Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif - Logique simpleOpérateurs logiques, partie 3Opérateur ternaire8Calculateur de partage de facture
Message de bienvenueSaisie des données11FizzBuzz avec une variante
Présentation du jeuLa fonction FizzBuzz3Les Optionnels
Comprendre les optionnelsDéballage avec If LetL'instruction Guard LetOpérateur de fusion nilRécapitulatif - Déballage sécurisé6Prise de décision
L'instruction IfIf - ElseRécapitulatif - Calculatrice simpleL'instruction SwitchSwitch avec des intervalles9Boucles
Boucle For-InBoucle WhileBoucle Repeat-WhileBreakContinueRécapitulatif - FactorielleIntervalles dans les bouclesBoucles imbriquéesRécapitulatif - Entrée dynamique