8.3 Recherche et test de chaînes de caractères
Objectifs d'apprentissage
À la fin de cette section, vous devriez être capable de :
- Utiliser l'opérateur
inpour déterminer si une chaîne donnée contient une sous-chaîne. - Appeler la méthode
count()pour compter le nombre de sous-chaînes dans une chaîne donnée. - Rechercher dans une chaîne pour trouver une sous-chaîne à l'aide de la méthode
find(). - Utiliser la méthode
index()pour trouver l'indice de la première occurrence d'une sous-chaîne dans une chaîne donnée. - Écrire une boucle for sur des chaînes de caractères à l'aide de l'opérateur in.
Opérateur in
L'opérateur booléen in peut être utilisé pour vérifier si une chaîne de caractères contient une autre chaîne. in renvoie True si la première chaîne existe dans la deuxième chaîne, et False dans le cas contraire.
Concepts en pratique
Utiliser l'opérateur in pour trouver des sous-chaînes
Boucle for utilisant l'opérateur in
L'opérateur in peut être utilisé pour itérer sur les caractères d'une chaîne à l'aide d'une boucle for. À chaque itération de la boucle for, un caractère est lu et devient la variable de boucle pour cette itération.
Concepts en pratique
Utiliser l'opérateur in dans une boucle for
count()
La méthode count() compte le nombre d'occurrences d'une sous-chaîne dans une chaîne donnée. Si la sous-chaîne donnée n'existe pas dans la chaîne donnée, la valeur 0 est renvoyée.
Concepts en pratique
Utiliser count() pour compter le nombre de sous-chaînes
find()
La méthode find() renvoie l'indice de la première occurrence d'une sous-chaîne dans une chaîne donnée. Si la sous-chaîne n'existe pas dans la chaîne donnée, la valeur -1 est renvoyée.
Concepts en pratique
Utiliser find() pour localiser une sous-chaîne
index()
La méthode index() fonctionne de manière similaire à la méthode find(), en ce sens qu'elle renvoie l'indice de la première occurrence d'une sous-chaîne dans une chaîne donnée. La méthode index() suppose que la sous-chaîne existe dans la chaîne donnée ; dans le cas contraire, elle lève une ValueError.
Exemple 8.4
Obtenir la partie des minutes de l'heure
Supposons qu'une valeur horaire soit fournie au sein d'une chaîne de caractères au format "hh:mm", où "hh" représente l'heure et "mm" représente les minutes. Pour récupérer uniquement la partie des minutes de la chaîne, on peut utiliser le code suivant :
time_string = "The time is 12:50"
index = time_string.index(":")
print(time_string[index+1:index+3])
La sortie du code ci-dessus est :
50
Concepts en pratique
Utiliser index() pour localiser une sous-chaîne
À vous d'essayer
Trouver tous les espaces
Écrivez un programme qui, à partir d'une chaîne donnée, compte le nombre de caractères d'espacement (espaces) dans la chaîne. Affichez également la chaîne donnée débarrassée de tous ses espaces.
Input: "This is great"
Prints:
2
Thisisgreat