Python a plusieurs méthodes pour traiter les chaînes. Dans ce tutoriel, je vais vous montrer comment savoir si une chaîne contient une sous-chaîne.
Comment vérifier si une chaîne contient une sous-chaîne
Qu'il s'agisse simplement d'un mot, d'une lettre ou d'une phrase que vous souhaitez vérifier dans une chaîne, avec Python, vous pouvez facilement utiliser les méthodes intégrées et le test d'appartenance in opérateur.
Il est à noter que vous obtiendrez une valeur booléenne (Vrai ou Faux) ou un entier pour indiquer si la chaîne contient ce que vous avez recherché. Vous en saurez plus à ce sujet lorsque je montrerai le code ci-dessous.
Examinons les solutions potentielles à l'aide desquelles vous pouvez déterminer si une chaîne contient un mot/une lettre spécifique.
Méthode 1. Utilisation de l'opérateur "in"
Supposons que vous ayez déjà défini une chaîne "str", voici à quoi elle ressemblera :
stringexample = "terminator"
"ter" in str
La sortie pour cela sera "True ” car la chaîne contient ce que j'ai recherché. Ainsi, si vous recherchez quelque chose et qu'il n'existe pas dans la chaîne, vous obtiendrez "False ” comme sortie.
Si vous n'êtes toujours pas sûr, laissez-moi écrire un petit programme pour vous expliquer la même chose :
stringexample = "Terminator"
substring = "ter"
if substring in stringexample:
print ("We've found the string!")
else:
print ("Oops, not found!")
La sortie pour le code ci-dessus sera :
We've found the string!
Méthode 2 :Utilisation de la méthode de recherche
Si vous voulez utiliser une méthode pour trouver une sous-chaîne, vous pouvez utiliser le find() méthode. Voici comment procéder :
stringexample = "kiki"
stringexample.find("ki")
La sortie pour cela sera 0 .
La raison derrière la sortie est - cette méthode renvoie la valeur d'index la plus basse lorsque la sous-chaîne est trouvée.
S'il renvoie -1 cela signifie que la chaîne ne contient pas cette sous-chaîne.
Voici un petit programme pour le montrer en action :
stringexample = "Kiki"
substring = "ki"
if stringexample.find("ki") != -1:
print ("We've found the string!")
else:
print ("Oops, not found!")
La sortie pour le code ci-dessus sera :
We've found the string!
Méthode 3 :Utilisation de la méthode Contient
__contains__() est une autre fonction pour vous aider à vérifier si une chaîne contient une lettre/un mot particulier.
Voici comment vous pouvez l'utiliser :
stringexample = "kiki"
stringexample.__contains__("k")
Vous obtiendrez la sortie sous la forme True/False . Pour l'extrait de code ci-dessus, vous obtiendrez le résultat suivant :
True
Notez qu'il y a 4 symboles de soulignement impliqués lorsque vous voulez écrire la méthode (2 avant le mot et 2 après).
Voici un programme pour expliquer la même chose :
stringexample = "kiki"
if stringexample.__contains__("k") == True:
print ("Yeyy, found the substring!")
else:
print ("Oops, not found!")
Dans ce cas, la sortie est :
Yeyy, found the substring!
Conclusion
Si vous pensez utiliser un algorithme de recherche à partir de zéro sans utiliser les fonctions ou les solutions mentionnées ci-dessus, vous pouvez jeter un œil à certains des algorithmes de recherche de chaînes pour en savoir plus à leur sujet.
Si vous avez des questions ou des suggestions, n'hésitez pas à m'en faire part.