Python String find() Metode med eksempler

Hva er Python Finn streng()?

Python String finn() er en funksjon tilgjengelig i Python bibliotek for å finne indeksen for den første forekomsten av en delstreng fra den gitte strengen. Strengen find()-funksjonen vil returnere -1 i stedet for å gi et unntak hvis den angitte delstrengen ikke er tilstede i den gitte strengen.

Syntaks av Python string find()

Den grunnleggende syntaksen til Python find()-funksjonen er som følger:

string.find(substring,start,end)

Parametere for find()-metoden

Her er tre parametere for funksjonen String find() i Python:

  • delstreng: Understrengen du vil søke i den gitte strengen.
  • Begynn: (valgfritt) Startverdien der søket etter understreng vil begynne. Som standard er det 0.
  • slutt: (valgfritt) Sluttverdien der søket etter understreng slutter. Som standard er verdien lengden på strengen.

Eksempel på find()-metode med standardverdier

Parametrene sendt til Python find()-metoden er understreng, dvs. strengen du vil søke etter, start og slutt. Startverdien er 0 som standard, og sluttverdien er lengden på strengen.

I dette eksemplet vil vi bruke metoden find() i Python med standardverdier.

Find()-metoden vil søke etter delstrengen og gi posisjonen til den aller første forekomsten av delstrengen. Nå, hvis delstrengen er tilstede flere ganger i den gitte strengen, vil den likevel returnere indeksen eller posisjonen til den første.

Eksempel:

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

Utgang:

The position of Tutorials is at: 12

Eksempel på find() ved bruk av startargument

Du kan søke i understrengen i den gitte strengen og angi startposisjonen, hvorfra søket skal begynne. Startparameteren kan brukes til det samme.

Eksemplet vil spesifisere startposisjonen som 15, og finne() i Python metoden vil begynne søket fra posisjon 15. Her vil endeposisjonen være lengden på strengen og vil søke til slutten av strengen fra 15 posisjoner og utover.

Eksempel:

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

Utgang:

The position of Tutorials is at 48

Eksempel på find() ved bruk av start- og sluttargumenter

Ved å bruke start- og sluttparameteren vil vi prøve å begrense søket, i stedet for å søke i hele strengen.

Eksempel:

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

Utgang:

The position of Tutorials is at 12

Eksempel på find() metode For å finne posisjonen til en gitt delstreng i en streng

Vi vet at find() hjelper oss å finne indeksen til den første forekomsten av delstrengen. Den returnerer -1 hvis delstrengen ikke er til stede i den gitte strengen. Eksemplet nedenfor viser indeksen når strengen er tilstede og -1 når vi ikke finner understrengen vi søker etter.

Eksempel:

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

Utgang:

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

Python streng rfind()

Ocuco Python funksjonen rfind() ligner funn()-funksjonen med den eneste forskjellen er at rfind() gir den høyeste indeksen for delstrengen som er gitt og find() gir den laveste, dvs. den aller første indeksen. Både rfind() og find() vil returnere -1 hvis delstrengen ikke er til stede.

I eksemplet nedenfor har vi en streng "Meet Guru99 Tutorials Site. Beste nettstedet for Python Guider!" og vil prøve å finne posisjonen til delstrengen Tutorials ved å bruke find() og rfind(). Forekomsten av veiledninger i strengen er to ganger.

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

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"))

Utgang:

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

Utdataene viser at find() gir indeksen til den aller første Tutorials-understrengen den får, og rfind() gir den siste indeksen til understrengen Tutorials.

Python string index()

Ocuco Python string index() er en funksjon som vil gi deg posisjonen til understrengen gitt akkurat som find(). Den eneste forskjellen mellom de to er at index() vil gi et unntak hvis delstrengen ikke er tilstede i strengen og find() vil returnere -1.

Her er et fungerende eksempel som viser oppførselen til index() og 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"))

Utgang:

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

Vi får samme posisjon for både find() og index(). La oss se et eksempel når den gitte understrengen ikke er til stede i strengen.

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"))

Utgang:

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 eksemplet ovenfor prøver vi å finne posisjonen til understrengen "test". Delstrengen er ikke til stede i den gitte strengen, og ved å bruke find() får vi posisjonen som -1, men for index() gir den en feil som vist ovenfor.

For å finne den totale forekomsten av en delstreng

For å finne det totale antallet ganger delstrengen har forekommet i den gitte strengen vil vi bruke fun()-funksjonen i Python. Vil gå gjennom strengen ved å bruke for-løkke fra 0 til slutten av strengen. Vil bruke startIndex-parameteren for find().

Variabler startIndex og count vil bli initialisert til 0. Inside for –loop vil sjekke om delstrengen er tilstede inne i strengen gitt ved å bruke find() og startIndex som 0.

Verdien returnert fra find() hvis ikke -1, vil oppdatere startIndex til indeksen der strengen er funnet og øker også telleverdien.

Her er arbeidseksemplet:

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 )

Utgang:

The total count of substring test is:  6

Sammendrag

  • Ocuco Python string find()-metoden hjelper til med å finne indeksen for den første forekomsten av delstrengen i den gitte strengen. Den vil returnere -1 hvis delstrengen ikke er til stede.
  • Parametrene sendt til Python find substring-metoden er substring dvs. strengen du vil søke etter, start og slutt. Startverdien er 0 som standard, og sluttverdien er lengden på strengen.
  • Du kan søke i understrengen i den gitte strengen og angi startposisjonen, hvorfra søket skal begynne. Startparameteren kan brukes til det samme.
  • Ved å bruke start- og sluttparameteren vil vi prøve å begrense søket, i stedet for å søke i hele strengen.
  • Ocuco Python funksjon rfind() er lik funksjonen find() med den eneste forskjellen er at rfind() gir den høyeste indeksen for delstrengen som er gitt og find() gir den laveste dvs. den aller første indeksen. Både rfind() og find() vil returnere -1 hvis delstrengen ikke er til stede.
  • Ocuco Python string index() er enda en funksjon som vil gi deg posisjonen til understrengen gitt akkurat som find(). Den eneste forskjellen mellom de to er at index() vil gi et unntak hvis delstrengen ikke er tilstede i strengen og find() vil returnere -1.
  • Vi kan bruke find() for å finne antallet av den totale forekomsten av en delstreng i en gitt streng.

» Lær mer om Python String split()

Oppsummer dette innlegget med: