Python String find() Metode med eksempler

Hvad er Python Streng find()?

Python Streng find() er en funktion tilgængelig i Python bibliotek for at finde indekset for den første forekomst af en understreng fra den givne streng. Strengen find()-funktionen vil returnere -1 i stedet for at kaste en undtagelse, hvis den angivne understreng ikke er til stede i den givne streng.

Syntaks af Python string find()

Den grundlæggende syntaks af Python find()-funktionen er som følger:

string.find(substring,start,end)

Parametre for find() metoden

Her er tre parametre for funktionen String find() i Python:

  • understreng: Den understreng, du vil søge i den givne streng.
  • starte: (valgfrit) Startværdien, hvorfra søgningen efter understreng begynder. Som standard er det 0.
  • ende: (valgfrit) Slutværdien, hvor søgningen efter understreng slutter. Som standard er værdien længden af ​​strengen.

Eksempel på find()-metode med standardværdier

Parametrene overført til Python find()-metoden er understreng, dvs. den streng, du vil søge efter, start og slut. Startværdien er 0 som standard, og slutværdien er længden af ​​strengen.

I dette eksempel vil vi bruge metoden find() i Python med standardværdier.

Find()-metoden vil søge efter understrengen og give positionen for den allerførste forekomst af understrengen. Nu, hvis understrengen er til stede flere gange i den givne streng, vil den stadig returnere dig indekset eller positionen for den første.

Eksempel:

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

Output:

The position of Tutorials is at: 12

Eksempel på find() ved brug af startargument

Du kan søge i understrengen i den givne streng og angive startpositionen, hvorfra søgningen begynder. Startparameteren kan bruges til det samme.

Eksemplet vil angive startpositionen som 15, og find() i Python metode vil begynde søgningen fra position 15. Her vil slutpositionen være længden af ​​strengen og vil søge til slutningen af ​​strengen fra 15 positioner og fremefter.

Eksempel:

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

Output:

The position of Tutorials is at 48

Eksempel på find() ved brug af start- og slutargumenter

Ved at bruge start- og slutparameteren vil vi forsøge at begrænse søgningen i stedet for at søge i hele strengen.

Eksempel:

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

Output:

The position of Tutorials is at 12

Eksempel på find() metode Til at finde positionen af ​​en given understreng i en streng

Vi ved, at find() hjælper os med at finde indekset for den første forekomst af understreng. Den returnerer -1, hvis understrengen ikke er til stede i den givne streng. Eksemplet nedenfor viser indekset, når strengen er til stede og -1, når vi ikke finder den understreng, vi søger efter.

Eksempel:

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

Output:

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

Python streng rfind()

Python funktion rfind() ligner find()-funktionen med den eneste forskel er, at rfind() giver det højeste indeks for den angivne delstreng og find() giver det laveste, dvs. det allerførste indeks. Både rfind() og find() vil returnere -1, hvis understrengen ikke er til stede.

I eksemplet nedenfor har vi en streng "Meet Guru99 Tutorials Site. Bedste site for Python Vejledninger!" og vil forsøge at finde positionen af ​​understrengen Tutorials ved hjælp af find() og rfind(). Forekomsten af ​​Tutorials i strengen er to gange.

Her er et eksempel, hvor både find() og rfind() bruges.

mystring = "Meet Guru99 Tutorials Site.Bedste site for Python Tutorials!"
print("The position of Tutorials using find() : ", mystring.find("Tutorials"))
print("The position of Tutorials using rfind() : ", mystring.rfind("Tutorials"))

Output:

The position of Tutorials using find() :  12
The position of Tutorials using rfind() :  48

Outputtet viser, at find() giver indekset for den allerførste Tutorials-understreng, som det får, og rfind() giver det sidste indeks af understreng Tutorials.

Python string index()

Python string index() er en funktion, der giver dig positionen for understrengen, der er givet ligesom find(). Den eneste forskel mellem de to er, at index() vil give en undtagelse, hvis understrengen ikke er til stede i strengen, og find() vil returnere -1.

Her er et fungerende eksempel, der viser adfærden af ​​index() og find().

mystring = "Meet Guru99 Tutorials Site.Bedste site for Python Tutorials!"
print("The position of Tutorials using find() : ", mystring.find("Tutorials"))
print("The position of Tutorials using index() : ", mystring.index("Tutorials"))

Output:

The position of Tutorials using find() :  12
The position of Tutorials using index() :  12

Vi får samme position for både find() og index(). Lad os se et eksempel, når den angivne understreng ikke er til stede i strengen.

mystring = "Meet Guru99 Tutorials Site.Bedste site for Python Tutorials!"
print("The position of Tutorials using find() : ", mystring.find("test"))
print("The position of Tutorials using index() : ", mystring.index("test"))

Output:

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

I ovenstående eksempel forsøger vi at finde positionen for understrengen "test". Understrengen er ikke til stede i den givne streng, og derfor ved hjælp af find(), får vi positionen som -1, men for index() kaster den en fejl som vist ovenfor.

For at finde den samlede forekomst af en understreng

For at finde det samlede antal gange understrengen er opstået i den givne streng vil vi gøre brug af find()-funktionen i Python. Vil sløjfe gennem strengen ved hjælp af for-loop fra 0 til slutningen af ​​strengen. Vil gøre brug af startIndex parameter for find().

Variabler startIndex og count vil blive initialiseret til 0. Inside for –loop vil kontrollere, om understrengen er til stede inde i strengen givet ved hjælp af find() og startIndex som 0.

Værdien returneret fra find(), hvis ikke -1, opdaterer startindekset til indekset, hvor strengen findes, og øger også tælleværdien.

Her er arbejdseksemplet:

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 )

Output:

The total count of substring test is:  6

Resumé

  • Python string find()-metoden hjælper med at finde indekset for den første forekomst af understrengen i den givne streng. Det vil returnere -1, hvis understrengen ikke er til stede.
  • Parametrene overført til Python find substring-metoden er understreng, dvs. den streng du vil søge efter, start og slut. Startværdien er 0 som standard, og slutværdien er længden af ​​strengen.
  • Du kan søge i understrengen i den givne streng og angive startpositionen, hvorfra søgningen begynder. Startparameteren kan bruges til det samme.
  • Ved at bruge start- og slutparameteren vil vi forsøge at begrænse søgningen i stedet for at søge i hele strengen.
  • Python funktion rfind() ligner find()-funktionen med den eneste forskel er, at rfind() giver det højeste indeks for den angivne delstreng og find() giver det laveste, dvs. det allerførste indeks. Både rfind() og find() vil returnere -1, hvis understrengen ikke er til stede.
  • Python string index() er endnu en funktion, der vil give dig positionen for understrengen, der er givet ligesom find(). Den eneste forskel mellem de to er, at index() vil give en undtagelse, hvis understrengen ikke er til stede i strengen, og find() vil returnere -1.
  • Vi kan bruge find() til at finde antallet af den samlede forekomst af en understreng i en given streng.

" Lær mere om Python String split()