Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Python

Méthode Python String find() avec exemples

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

Chaîne Python find() est une fonction disponible dans la bibliothèque Python pour 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 lever une exception, si la sous-chaîne spécifiée n'est pas présente dans la chaîne donnée.

Dans ce didacticiel sur la méthode Python string find(), vous apprendrez :

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 :

Exemple de méthode find() avec des valeurs par défaut

Les paramètres passés à la méthode Python find() sont une sous-chaîne, c'est-à-dire la chaîne que vous souhaitez rechercher, démarrer 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 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. Maintenant, si la sous-chaîne est présente plusieurs fois dans la chaîne donnée, elle vous renverra toujours l'index ou la position de la première.

Exemple :

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 start

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é pour la même chose.

L'exemple spécifiera la position de départ à 15, et la méthode find() dans 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.

Exemple :

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 des arguments de début et de fin

En utilisant le paramètre de début et de fin, nous essaierons de limiter la recherche, au lieu de rechercher la chaîne entière.

Exemple :

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 substring. Elle 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.

Exemple :

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 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.

Dans l'exemple ci-dessous, nous avons une chaîne "Meet Guru99 Tutorials Site. Meilleur site pour les tutoriels Python !" et essaiera de trouver la position de la sous-chaîne Tutoriels 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.

Indice 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 de travail 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 comme -1, mais pour index(), cela 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 s'est produite dans la chaîne donnée, nous utiliserons la fonction find() en Python. Bouclera sur 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. Inside for –loop vérifiera si la sous-chaîne est présente dans la chaîne donnée en utilisant find() et startIndex comme 0.

La valeur renvoyée par find() si elle n'est pas -1, mettra à jour le startIndex à 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é


Python

  1. Python String strip() Fonction avec EXAMPLE
  2. Python String count() avec des EXEMPLES
  3. Python String format() Expliquer avec des EXEMPLES
  4. Longueur de la chaîne Python | Méthode len() Exemple
  5. Fonctions Python Lambda avec EXEMPLES
  6. Fonction Python round() avec EXEMPLES
  7. Fonction Python map() avec EXEMPLES
  8. Python Timeit() avec des exemples
  9. type() et isinstance() en Python avec des exemples