Méthode Python String find() avec exemples

Qu'est-ce que Python String find() ?

Recherche de chaîne Python() est une fonction disponible dans la bibliothèque Python pour trouver l'index de la première occurrence d'une sous-chaîne de la chaîne donnée. La fonction string find() renverra -1 au lieu de throwing une exception, si la sous-chaîne spécifiée n'est pas présente dans la chaîne donnée.

Syntaxe de la chaîne Python find()

La syntaxe de base de la fonction Python 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() en 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 à la méthode Python find() sont des sous-chaînes, 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() en Python avec les 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.Best 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 méthode find() en Python commencera la recherche à partir de la position 15. Ici, la position de fin sera la longueur de la chaîne et recherchera jusqu'à la fin de la chaîne à partir de 15 positions. À partir de.

Mise en situation :

mystring = "Meet Guru99 Tutorials Site.Best 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 searching toute la chaîne.

Mise en situation :

mystring = "Meet Guru99 Tutorials Site.Best 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 l'on ne trouve pas la sous-chaîne recherchéearching pour.

Mise en situation :

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("The position of Best site is at:", mystring.find("Best site", 5, 40))
print("The position of Guru99 is at:", mystring.find("Guru99", 20))

Sortie :

The position of Best site is at: 27
The position of Guru99 is at: -1

Chaîne Python rfind()

La fonction Python 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 Tutoriels Python! » 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.Best 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.

Index de chaîne Python()

La chaîne Python 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.Best 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.Best 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() en 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é

  • La méthode Python 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 à la méthode Python find substring sont des sous-chaînes, 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 searching toute la chaîne.
  • Le fonction Python 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.
  • La chaîne Python 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 Séparation de chaîne Python()