Python Méthode String find() avec exemples
⚡ Résumé intelligent
Python La méthode intégrée `find()` renvoie l'indice de la première occurrence d'une sous-chaîne dans une chaîne. Elle renvoie -1 si la sous-chaîne est absente, évitant ainsi les exceptions.
Qu'est-ce que le Python Recherche de chaîne() ?
Python Recherche de chaîne() est une fonction disponible dans le Python Bibliothèque permettant de trouver l'indice de la première occurrence d'une sous-chaîne dans une chaîne donnée. La fonction `find()` renvoie -1 au lieu de lever une exception lorsque la sous-chaîne spécifiée est absente de la chaîne donnée. Pythonle plus utilisé méthodes de chaîne pour localiser du texte.
Syntaxe de Python recherche de chaîne()
La syntaxe de base du Python La fonction find() est la suivante :
string.find(substring,start,end)
Paramètres de la méthode find()
Voici les trois paramètres de la fonction 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 la sous-chaîne commencera. Par défaut, elle est 0.
- fin: (facultatif) Valeur finale de la recherche de la sous-chaîne. Par défaut, cette valeur correspond à 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()` prend comme arguments la sous-chaîne à rechercher, ainsi que `start` et `end`. La valeur par défaut de `start` est 0, et `end` correspond à 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()` recherche la sous-chaîne et renvoie la position de sa première occurrence. Si la sous-chaîne apparaît plusieurs fois dans la chaîne, elle renvoie tout de même l'indice ou la position de la première occurrence.
Exemple :
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 une sous-chaîne dans la chaîne donnée et spécifier la position de départ de la recherche. Le paramètre `start` permet d'effectuer cette recherche.
L'exemple ci-dessous spécifie la position de départ comme étant 20, et la méthode find() dans Python La recherche commencera à partir de la position 20. Ici, la position finale correspond à la longueur de la chaîne ; la recherche s’effectuera donc jusqu’à la fin de la chaîne à partir de la position 20.
Exemple :
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 de début et de fin, nous pouvons limiter la recherche au lieu de parcourir la chaîne entière.
Exemple :
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 la méthode find() pour trouver la position d'une sous-chaîne donnée dans une chaîne de caractères
Nous savons que la fonction `find()` permet de trouver l'indice de la première occurrence d'une sous-chaîne. Elle renvoie -1 si la sous-chaîne est absente de la chaîne donnée. L'exemple ci-dessous illustre l'indice lorsque la chaîne est présente et -1 lorsqu'elle est absente.
Exemple :
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()
Le Python La fonction `rfind()` est similaire à la fonction `find()`, à la différence que `rfind()` renvoie l'indice le plus élevé de la sous-chaîne donnée, tandis que `find()` renvoie l'indice le plus bas, c'est-à-dire le tout premier indice. Toutes deux, `rfind()` et `find()`, renvoient -1 si la sous-chaîne est absente.
Dans l'exemple ci-dessous, nous avons une chaîne de caractères « Meet » Guru99 Site de tutoriels. Meilleur site pour Python TutorielsLe programme tentera de trouver la position de la sous-chaîne « Tutorials » à l'aide des fonctions `find()` et `rfind()`. La sous-chaîne « Tutorials » apparaît deux fois dans la chaîne.
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
Le résultat montre que find() donne l'index de la toute première sous-chaîne Tutorials qu'elle trouve, tandis que rfind() donne le dernier index de la sous-chaîne Tutorials.
Python index de chaîne()
Le Python La fonction `index()` renvoie la position d'une sous-chaîne donnée, tout comme `find()`. La seule différence est que `index()` lève une exception si la sous-chaîne est absente de la chaîne, tandis que `find()` renvoie -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
On obtient la même position avec `find()` et `index()`. Prenons l'exemple d'une sous-chaîne absente de 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 cherchons la position de la sous-chaîne « test ». Cette sous-chaîne n'étant pas présente dans la chaîne donnée, la fonction `find()` renvoie la position -1, tandis que la fonction `index()` génère une erreur, comme indiqué précédemment.
Pour trouver l'occurrence totale d'une sous-chaîne
Pour trouver le nombre total d'occurrences d'une sous-chaîne dans la chaîne donnée, nous utiliserons la fonction find(). PythonNous allons parcourir la chaîne de caractères à l'aide d'une boucle for, de 0 jusqu'à la fin de la chaîne, en utilisant le paramètre startIndex pour find().
Les variables startIndex et count seront initialisées à 0. À l'intérieur de la boucle for, nous vérifierons si la sous-chaîne est présente dans la chaîne donnée en utilisant find() avec startIndex égal à 0.
La valeur renvoyée par find(), si elle n'est pas -1, mettra à jour startIndex à l'index où la chaîne est trouvée et incrémentera également la valeur de count.
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
" En savoir plus sur Python Séparation de chaîne()

