Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Classe « str » Python 3.12.1

Méthode builtins.str.find

Signature de la méthode find

 def find(self, substring, start=0, end=None) -> int

Description

Renvoie la position dans la chaîne courante de la première occurrence de la chaîne passée en paramètre. La recherche s'exécute, par défaut, dans l'intégralité de la chaîne courante, mais il est aussi possible de réaliser cette recherche dans une partie (une slice) de la chaîne courante. Ainsi, l'appel "a sample string".find("s", 4, 12) est équivalent à "a sample string"[4:12].find("s") (slice notation).

si vous cherchez juste à tester la présence d'une sous-chaîne, veuillez privilégier l'utilisation de l'opérateur in, comme le montre l'exemple suivant.
>>> s = "Le langage Python est génial"
>>> "Python" in s
True
>>>
cette méthode est très proche de la méthode str.index. La différence réside dans le fait que find renvoie -1 si la chaîne recherchée n'est pas présente, alors que la méthode index déclenche une exception dans ce cas.

help(str.find)

S.find(sub[, start[, end]]) -> int

Return the lowest index in S where substring sub is found,
such that sub is contained within S[start:end].  Optional
arguments start and end are interpreted as in slice notation.

Return -1 on failure.

Paramètres

ParamètreDescription
 self : str 
La chaîne de caractères courante. Rappel : self est implicitement passée lors de l'appel de la méthode.
 substring : str 
La sous-chaîne à rechercher.
 start : int = 0 
L'indice du premier caractère à partir duquel réaliser la recherche. Rappel : les indices sont basés à partir de 0.
 end : int = None 
Indice du caractère à partir duquel arrêter la recherche. La valeur None indiquant qu'on recherche la sous-chaîne jusqu'à la fin de la chaîne courante.

Valeur de retour

La valeur de retour est de type int.

Si la chaîne de caractères cherchée est présente dans la chaîne courante, la position de sa première occurrence vous sera retournée (indice basé à partir de 0). Dans le cas contraire, la valeur -1 vous sera retournée.

Exception

Exemple(s) de code

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
#!/usr/bin/python3

full_string = "Le langage Python est génial"
searched_string = "Python"
pos = full_string.find(searched_string)

if pos != -1:
    print("Avant :", full_string[0:pos])
    print("Recherche :", full_string[pos:pos + len(searched_string)])
    print("Après :", full_string[pos + len(searched_string):])
else:
    print("La chaîne recherchée n'est pas présente.")
Exemple d'utilisation de la méthode find.

Et voici les résultats produits par cet exemple.

$> python3 sample.py
Avant : Le langage 
Recherche : Python
Après :  est génial
$>

Voir aussi

Classe str
Méthode str.count
Méthode str.endswith
Méthode str.index
Méthode str.rfind
Méthode str.rindex
Méthode str.startswith