Vérifier en Python si une chaîne contient une autre chaîne
La manipulation de chaînes est une tâche courante dans n'importe quel langage de programmation. Python fournit deux manières courantes de vérifier si une chaîne contient une autre chaîne.
Vérifier en Python si une chaîne contient une autre chaîne
La chaîne Python prend en charge l'opérateur in. Nous pouvons donc l'utiliser pour vérifier si une chaîne fait partie d'une autre chaîne ou non. La syntaxe de l'opérateur in est :
sub in str
Cela retourne True si la chaîne “sub” fait partie de “str”, sinon cela retourne False. Voyons quelques exemples d'utilisation de l'opérateur in en Python.
str1 = 'I love Python Programming'
str2 = 'Python'
str3 = 'Java'
print(f'"{str1}" contains "{str2}" = {str2 in str1}')
print(f'"{str1}" contains "{str2.lower()}" = {str2.lower() in str1}')
print(f'"{str1}" contains "{str3}" = {str3 in str1}')
if str2 in str1:
print(f'"{str1}" contains "{str2}"')
else:
print(f'"{str1}" does not contain "{str2}"')
Sortie :
"I love Python Programming" contains "Python" = True
"I love Python Programming" contains "python" = False
"I love Python Programming" contains "Java" = False
"I love Python Programming" contains "Python"
Si vous n'êtes pas familier avec les chaînes de caractères préfixées par f en Python, c'est une nouvelle méthode de formatage de chaînes introduite dans Python 3.6. Vous pouvez en lire plus à ce sujet dans les f-strings en Python.
Lorsque nous utilisons l'opérateur in, il appelle en interne la fonction __contains__(). Nous pouvons également utiliser cette fonction directement, cependant, il est recommandé d'utiliser l'opérateur in pour des raisons de lisibilité.
s = 'abc'
print('s contains a =', s.__contains__('a'))
print('s contains A =', s.__contains__('A'))
print('s contains X =', s.__contains__('X'))
Sortie :
s contains a = True
s contains A = False
s contains X = False
Utiliser find() pour vérifier si une chaîne contient une autre sous-chaîne
Nous pouvons également utiliser la fonction find() de la chaîne de caractères pour vérifier si une chaîne contient ou non une sous-chaîne. Cette fonction retourne la première position d'index où la sous-chaîne est trouvée, sinon elle retourne -1.
str1 = 'I love Python Programming'
str2 = 'Python'
str3 = 'Java'
index = str1.find(str2)
if index != -1:
print(f'"{str1}" contains "{str2}"')
else:
print(f'"{str1}" does not contain "{str2}"')
index = str1.find(str3)
if index != -1:
print(f'"{str1}" contains "{str3}"')
else:
print(f'"{str1}" does not contain "{str3}"')
Sortie :
"I love Python Programming" contains "Python"
"I love Python Programming" does not contain "Java"
Vous pouvez consulter le script Python complet et d'autres exemples de Python sur notre dépôt GitHub.


