Maison > Article > développement back-end > Comment déterminer si une chaîne contient une sous-chaîne spécifiée en Python
Comment Python détermine-t-il si une chaîne contient la chaîne spécifiée ? Cet article vous présentera trois méthodes en Python pour déterminer si une chaîne contient une sous-chaîne spécifiée. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.
L'une des opérations les plus couramment utilisées par les programmeurs sur les chaînes est de déterminer si une chaîne contient une sous-chaîne spécifiée. Python le fait d'une manière très facile à lire et à mettre en œuvre. Il existe 3 façons de procéder.
Première : utilisez l'opérateur in
Le moyen le plus simple consiste à utiliser l'opérateur in de Python.
in prend deux "paramètres", un à gauche et un à droite. Si le paramètre de gauche est inclus dans le paramètre de droite, il renvoie vrai.
Regardons cet exemple :
>>> str = "Messi is the best soccer player" >>> result = "soccer" in str >>> print result True >>> result = "football" in str >>> print result False
Comme vous pouvez le voir, l'opérateur in renvoie True lorsqu'il y a une sous-chaîne dans la chaîne.
Sinon, il renvoie false.
Cette approche est très simple, propre, lisible et idiomatique.
Deuxième : utilisez la méthode find()/rfind() du module de chaîne
Une autre méthode que vous pouvez également utiliser est la méthode de recherche de chaîne de caractères .
Contrairement à l'opérateur in, qui donne une valeur booléenne, la méthode find renvoie un entier.
Cet entier est essentiellement l'index du début de la sous-chaîne si la sous-chaîne existe, sinon -1 est renvoyé.
Voyons la méthode find en action.
>>> import string >>> str = "Messi is the best soccer player" >>> str.find("soccer") 18 >>> str.rfind("Ronaldo") -1 >>> str.find("Messi") 0
Un avantage de cette méthode : vous pouvez spécifier un index de début et un index de fin pour limiter votre portée de recherche.
Par exemple :
>>> import string >>> str = "Messi is the best soccer player" >>> str.find("soccer", 5, 25) 18 >>> str.find("Messi", 5, 25) -1
Remarque : Lorsque vous jugez "Messi", if renvoie -1 car vous limitez la recherche aux caractères compris entre l'index 5 et 25. ensemble.
Troisième : utilisez la méthode index()/rindex() du module de chaîne
index()/rindex() et recherchez ( )/rfind() sont similaires, sauf qu'une exception ValueError sera signalée lorsque la sous-chaîne est introuvable.
import string def find_string(s,t): try: string.index(s,t) return True except(ValueError): return False s='nihao,shijie' t='nihao' result = find_string(s,t) print result #True
Résumé : Ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!