L'une des opérations les plus fréquentes dans chaque langage de programmation consiste à déterminer si une chaîne donnée contient une sous-chaîne. Python dispose de nombreuses méthodes pour déterminer si une chaîne donnée contient un caractère. L'opérateur « in » de Python, qui sert d'outil pour les opérations de comparaison, est le moyen le plus rapide et le plus simple de déterminer si une chaîne Python inclut un caractère. Vérifier si une chaîne inclut une sous-chaîne bénéficie également de l'utilisation d'autres fonctions Python telles que find(), index(), count() et autres.
Utilisation de l'opérateur 'in' de Python
L'opérateur 'in' de Python est le moyen le plus rapide et le plus simple de déterminer si une chaîne comprend ou non une sous-chaîne. Si la chaîne contient les caractères, cette opération renvoie un booléen vrai ; sinon, il renvoie false.
combien de semaines y a-t-il dans un mois
Code
# Python program to show how to use the in operator to check if a string contains a substring # Creating a string str='Python Tutorial' print('The string 'tut' is present in the string: ', 'Tut' in str)
Sortir:
The string 'tut' is present in the string: True
Si la chaîne donnée comme argument de gauche est incluse dans la chaîne donnée comme argument de droite, l'opérateur 'in' donne True. Il accepte deux paramètres, un de chaque côté. L'opérateur 'in' de Python traite les lettres majuscules et minuscules séparément car il s'agit d'un opérateur sensible à la casse.
Utilisation de la fonction __contains__()
La fonction __contains__() de la classe String de Python fournit également un moyen de déterminer si la chaîne donnée contient ou non une sous-chaîne. L'opération 'in' de Python appelle la méthode __contains__() lorsqu'elle est utilisée implicitement. Lorsqu'un objet de classe apparaît à droite des opérateurs « in » et « not in », le comportement est défini par la méthode __contains__. Même si nous le pouvons, nous choisissons de ne pas utiliser cette méthode explicitement. Bien que les fonctions avec des traits de soulignement comme premier caractère soient considérées comme sémantiquement privées, il est conseillé d'utiliser les opérateurs « in » pour plus de lisibilité.
Code
# Python program to show how to use the __contain__ method to check if a string contains a substring # Creating a string string = 'Python Tutorial' print('The string 'tut' is present in the string: ', string.__contains__('Tut'))
Sortir:
The string 'tut' is present in the string: True
Utilisation de la méthode str.find() de Python
Vous pouvez également utiliser la technique string.find(). La fonction find() détermine si une sous-chaîne existe dans la chaîne donnée. Si elle trouve, la fonction find() renvoie -1 ; sinon, il donne l'index de début de la sous-chaîne à l'intérieur de la chaîne.
Code
boîte de liste Java
# Python program to find a character in a string and get its index # Creating a string string = 'Python Tutorial' index = string.find('T') if index != -1: print('The character 'T' is present in the string at: ', index) else: print('The character is not present in the string')
Sortir:
The character 'T' is present in the string at: 7
Cette approche est acceptable ; cependant, utiliser str.find() est une manière moins pythonique d'accomplir cette tâche. Bien qu’il soit plus long et un peu plus confus, il accomplit néanmoins sa tâche.
Utilisation de la méthode str.count()
Utilisez la fonction Python count() si vous souhaitez compter les instances d'une sous-chaîne particulière dans une chaîne. La fonction donne 0 si elle ne trouve pas la sous-chaîne ou le caractère dans la chaîne donnée.
Code
# Python program to check a character is present in the string using the count() function # Creating a string string = 'Python Tutorial' count = string.count('o') if count != 0: print(f'The character 'o' is present in the string {count} times.') else: print('The character is not present in the string')
Sortir:
The character 'o' is present in the string 2 times.