Maison >développement back-end >Tutoriel Python >Comment déterminer si une chaîne contient une sous-chaîne spécifiée en Python

Comment déterminer si une chaîne contient une sous-chaîne spécifiée en Python

青灯夜游
青灯夜游original
2018-11-17 14:14:1161694parcourir

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn