GNU/Linux >> Tutoriels Linux >  >> Linux

Vérifier si la chaîne contient une sous-chaîne en Python

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.


Linux
  1. Comment vérifier si la chaîne contient une sous-chaîne dans Bash

  2. Exemples de manipulation de chaînes Bash - Longueur, sous-chaîne, rechercher et remplacer

  3. Comment vérifier toutes les versions de python installées sur osx et centos

  4. Vérifiez si l'un des paramètres d'un script bash correspond à une chaîne

  5. bash - trouve la position de l'index de chaîne de la sous-chaîne

Comment vérifier la version de Python sous Linux, Mac et Windows

Comment vérifier si une chaîne contient une sous-chaîne dans Bash

Comment vérifier la version de Python

Comment créer une instance RDS à l'aide de Python Boto3 sur AWS

Remplacement d'une sous-chaîne par une autre chaîne dans Bash

Comment puis-je vérifier si un volume est monté là où il est censé utiliser Python ?