Python Méthode String find() avec exemples
Qu’est ce qu' Python Recherche de chaîne() ?
Python Recherche de chaîne() est une fonction disponible dans Python Bibliothèque permettant de trouver l'index de la première occurrence d'une sous-chaîne à partir de la chaîne donnée. La fonction string find() renverra -1 au lieu de générer une exception si la sous-chaîne spécifiée n'est pas présente dans la chaîne donnée.
Syntaxe de Python recherche de chaîne()
La syntaxe de base de Python La fonction find() est la suivante :
string.find(substring,start,end)
Paramètres de la méthode find()
Voici trois paramètres de la fonction String find() dans Python:
- sous-chaîne: La sous-chaîne que vous souhaitez rechercher dans la chaîne donnée.
- Commencer: (facultatif) La valeur de départ à partir de laquelle la recherche de sous-chaîne commencera. Par défaut, c'est 0.
- fin: (facultatif) La valeur de fin où se terminera la recherche de sous-chaîne. Par défaut, la valeur est la longueur de la chaîne.
Exemple de méthode find() avec des valeurs par défaut
Les paramètres transmis à Python La méthode find() est une sous-chaîne, c'est-à-dire la chaîne que vous souhaitez rechercher, commencer et terminer. La valeur de début est 0 par défaut et la valeur de fin est la longueur de la chaîne.
Dans cet exemple, nous utiliserons la méthode find() dans Python avec des valeurs par défaut.
La méthode find() recherchera la sous-chaîne et donnera la position de la toute première occurrence de la sous-chaîne. Désormais, si la sous-chaîne est présente plusieurs fois dans la chaîne donnée, elle vous renverra néanmoins l'index ou la position de la première.
Mise en situation :
mystring = "Meet Guru99 Tutorials Site.Meilleur site for Python Tutorials!" print("The position of Tutorials is at:", mystring.find("Tutorials"))
Sortie :
The position of Tutorials is at: 12
Exemple de find() utilisant l'argument de démarrage
Vous pouvez rechercher la sous-chaîne dans la chaîne donnée et spécifier la position de départ à partir de laquelle la recherche commencera. Le paramètre start peut être utilisé à cette fin.
L'exemple spécifiera la position de départ comme 15 et la fonction find() dans Python La méthode commencera la recherche à partir de la position 15. Ici, la position finale sera la longueur de la chaîne et recherchera jusqu'à la fin de la chaîne à partir de 15 positions.
Mise en situation :
mystring = "Meet Guru99 Tutorials Site.Meilleur site for Python Tutorials!" print("The position of Tutorials is at:", mystring.find("Tutorials", 20))
Sortie :
The position of Tutorials is at 48
Exemple de find() utilisant les arguments de début et de fin
En utilisant les paramètres start et end, nous essaierons de limiter la recherche, au lieu de rechercher la chaîne entière.
Mise en situation :
mystring = "Meet Guru99 Tutorials Site.Meilleur site for Python Tutorials!" print("The position of Tutorials is at:", mystring.find("Tutorials", 5, 30))
Sortie :
The position of Tutorials is at 12
Exemple de méthode find() Pour trouver la position d'une sous-chaîne donnée dans une chaîne
Nous savons que find() nous aide à trouver l'index de la première occurrence de la sous-chaîne. Il renvoie -1 si la sous-chaîne n'est pas présente dans la chaîne donnée. L'exemple ci-dessous montre l'index lorsque la chaîne est présente et -1 lorsque nous ne trouvons pas la sous-chaîne que nous recherchons.
Mise en situation :
mystring = "Meet Guru99 Tutorials Site.Meilleur site for Python Tutorials!" print("The position of Meilleur site is at:", mystring.find("Meilleur site", 5, 40)) print("The position of Guru99 is at:", mystring.find("Guru99", 20))
Sortie :
The position of Meilleur site is at: 27 The position of Guru99 is at: -1
Python chaîne trouver()
Votre Python La fonction rfind() est similaire à la fonction find(), la seule différence est que rfind() donne l'indice le plus élevé pour la sous-chaîne donnée et find() donne le plus bas, c'est-à-dire le tout premier indice. rfind() et find() renverront -1 si la sous-chaîne n'est pas présente.
Dans l'exemple ci-dessous, nous avons une chaîne « Meet Guru99 Tutorials Site. Meilleur site pour Python Tutoriels! » et essaiera de trouver la position des didacticiels de sous-chaîne en utilisant find() et rfind(). L'occurrence de Tutoriels dans la chaîne est double.
Voici un exemple où find() et rfind() sont utilisés.
mystring = "Meet Guru99 Tutorials Site.Meilleur site for Python Tutorials!" print("The position of Tutorials using find() : ", mystring.find("Tutorials")) print("The position of Tutorials using rfind() : ", mystring.rfind("Tutorials"))
Sortie :
The position of Tutorials using find() : 12 The position of Tutorials using rfind() : 48
La sortie montre que find() donne l'index de la toute première sous-chaîne Tutorials qu'il obtient, et rfind() donne le dernier index de la sous-chaîne Tutorials.
Python index de chaîne()
Votre Python string index() est une fonction qui vous donnera la position de la sous-chaîne donnée, tout comme find(). La seule différence entre les deux est que index() lèvera une exception si la sous-chaîne n'est pas présente dans la chaîne et find() renverra -1.
Voici un exemple fonctionnel qui montre le comportement de index() et find().
mystring = "Meet Guru99 Tutorials Site.Meilleur site for Python Tutorials!" print("The position of Tutorials using find() : ", mystring.find("Tutorials")) print("The position of Tutorials using index() : ", mystring.index("Tutorials"))
Sortie :
The position of Tutorials using find() : 12 The position of Tutorials using index() : 12
Nous obtenons la même position pour find() et index(). Voyons un exemple où la sous-chaîne donnée n'est pas présente dans la chaîne.
mystring = "Meet Guru99 Tutorials Site.Meilleur site for Python Tutorials!" print("The position of Tutorials using find() : ", mystring.find("test")) print("The position of Tutorials using index() : ", mystring.index("test"))
Sortie :
The position of Tutorials using find() : -1 Traceback (most recent call last): File "task1.py", line 3, in <module> print("The position of Tutorials using index() : ", mystring.index("test")) ValueError: substring not found
Dans l'exemple ci-dessus, nous essayons de trouver la position de la sous-chaîne « test ». La sous-chaîne n'est pas présente dans la chaîne donnée, et donc en utilisant find(), nous obtenons la position -1, mais pour index(), elle génère une erreur comme indiqué ci-dessus.
Pour trouver l'occurrence totale d'une sous-chaîne
Pour trouver le nombre total de fois où la sous-chaîne est apparue dans la chaîne donnée, nous utiliserons la fonction find() dans Python. Parcourra la chaîne en utilisant la boucle for de 0 jusqu'à la fin de la chaîne. Utilisera le paramètre startIndex pour find().
Les variables startIndex et count seront initialisées à 0. À l'intérieur de –loop vérifiera si la sous-chaîne est présente à l'intérieur de la chaîne donnée en utilisant find() et startIndex à 0.
La valeur renvoyée par find() si elle n'est pas -1, mettra à jour startIndex vers l'index où la chaîne se trouve et incrémentera également la valeur de comptage.
Voici l'exemple de travail :
my_string = "test string test, test string testing, test string test string" startIndex = 0 count = 0 for i in range(len(my_string)): k = my_string.find('test', startIndex) if(k != -1): startIndex = k+1 count += 1 k = 0 print("The total count of substring test is: ", count )
Sortie :
The total count of substring test is: 6
Résumé
- Votre Python La méthode string find() permet de trouver l’index de la première occurrence de la sous-chaîne dans la chaîne donnée. Il renverra -1 si la sous-chaîne n'est pas présente.
- Les paramètres transmis à Python La méthode find substring est une sous-chaîne, c'est-à-dire la chaîne que vous souhaitez rechercher, commencer et terminer. La valeur de début est 0 par défaut et la valeur de fin est la longueur de la chaîne.
- Vous pouvez rechercher la sous-chaîne dans la chaîne donnée et spécifier la position de départ à partir de laquelle la recherche commencera. Le paramètre start peut être utilisé à cette fin.
- En utilisant les paramètres start et end, nous essaierons de limiter la recherche, au lieu de rechercher la chaîne entière.
- Votre Python fonction rfind() est similaire à la fonction find(), la seule différence est que rfind() donne l'index le plus élevé pour la sous-chaîne donnée et find() donne le plus bas, c'est-à-dire le tout premier index. rfind() et find() renverront -1 si la sous-chaîne n'est pas présente.
- Votre Python string index() est encore une autre fonction qui vous donnera la position de la sous-chaîne donnée, tout comme find(). La seule différence entre les deux est que index() lèvera une exception si la sous-chaîne n'est pas présente dans la chaîne et find() renverra -1.
- Nous pouvons utiliser find() pour trouver le nombre total d’occurrences d’une sous-chaîne dans une chaîne donnée.
" En savoir plus sur Python Séparation de chaîne()