Python String find() Metode med eksempler

โšก Smart oppsummering

Python string find() er en innebygd metode som returnerer indeksen for den fรธrste forekomsten av en delstreng i en streng. Den returnerer -1 nรฅr delstrengen ikke er til stede, og unngรฅr unntak.

  • ๐Ÿ” Syntaks: find() tar en delstreng pluss valgfrie start- og sluttindekser for รฅ begrense sรธkeomrรฅdet.
  • ๐ŸŽฏ Fรธrste kamp: find() returnerer den laveste indeksen for den fรธrste forekomsten, og skanner fra venstre mot hรธyre.
  • โž– Ikke funnet: find() returnerer -1 i stedet for รฅ generere en feil nรฅr delstrengen er fravรฆrende.
  • ๐Ÿ” rfinn(): rfind()-metoden returnerer den hรธyeste indeksen, og sรธker i stedet fra hรธyre side.
  • โš ๏ธ indeks(): index()-metoden oppfรธrer seg som find(), men genererer en ValueError nรฅr delstrengen mangler.
  • ๐Ÿค– AI-hjelp: AI-kodingsassistenter genererer find()-logikk og power substring-sรธk i NLP-tekstpipelines.

Python String finn()

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 i en gitt streng. find()-funksjonen returnerer -1 i stedet for รฅ kaste et unntak nรฅr den angitte delstrengen ikke finnes i den gitte strengen. Det er en av Pythonmest brukte strengmetoder for รฅ finne tekst.

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 de tre parameterne til find()-funksjonen i Python:

  • delstrengDelstrengen du vil sรธke etter i den gitte strengen.
  • Begynn: (valgfritt) Startverdien der sรธket etter delstrengen starter. Som standard er den 0.
  • slutt: (valgfritt) Sluttverdien der sรธket etter delstrengen slutter. Som standard er verdien lengden pรฅ strengen.

Eksempel pรฅ find()-metode med standardverdier

Parametrene som sendes til Python find()-metoden er delstrengen, det vil si strengen du vil sรธke etter, pluss start og slutt. Startverdien er 0 som standard, og sluttverdien er lengden pรฅ strengen.

I dette eksemplet bruker vi find()-metoden i Python med standardverdier.

find()-metoden vil sรธke etter delstrengen og gi posisjonen til den aller fรธrste forekomsten av delstrengen. Selv om delstrengen finnes flere ganger i den gitte strengen, vil den fortsatt 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 etter delstrengen i den gitte strengen og angi startposisjonen der sรธket skal starte. Startparameteren kan brukes til dette formรฅlet.

Eksemplet nedenfor spesifiserer startposisjonen som 20, og find()-metoden i Python vil starte sรธket fra posisjon 20. Her vil sluttposisjonen vรฆre lengden pรฅ strengen, sรฅ den sรธker til slutten av strengen fra posisjon 20 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 sluttparametrene kan vi 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()-metoden for รฅ finne posisjonen til en gitt delstreng i en streng

Vi vet at find() hjelper oss med รฅ finne indeksen for den fรธrste forekomsten av en delstreng. Den returnerer -1 hvis delstrengen ikke finnes i den gitte strengen. Eksemplet nedenfor viser indeksen nรฅr strengen finnes og -1 nรฅr delstrengen vi sรธker etter ikke finnes.

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 rfind()-funksjonen ligner pรฅ find()-funksjonen, med den eneste forskjellen at rfind() gir den hรธyeste indeksen for den gitte delstrengen, mens find() gir den laveste, det vil si den aller fรธrste indeksen. Bรฅde rfind() og find() returnerer -1 hvis delstrengen ikke er tilstede.

I eksemplet nedenfor har vi en streng ยซMรธt Guru99 veiledningsnettsted. Beste nettsted for Python Guider!โ€ og vil prรธve รฅ finne posisjonen til delstrengen Tutorials ved hjelp av find() og rfind(). Delstrengen Tutorials forekommer to ganger i strengen.

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 delstrengen i Tutorials den finner, mens rfind() gir den siste indeksen til delstrengen Tutorials.

Python string index()

Ocuco Python strengen index() er en funksjon som gir deg posisjonen til den gitte delstrengen, akkurat som find(). Den eneste forskjellen mellom de to er at index() kaster et unntak hvis delstrengen ikke er tilstede i strengen, mens find() returnerer -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 delstrengen ikke er tilstede 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 delstrengen ยซtestยป. Delstrengen finnes ikke i den gitte strengen, sรฅ ved รฅ bruke find() fรฅr vi posisjonen som -1, men for index() kaster det en feil, som vist ovenfor.

For รฅ finne den totale forekomsten av en delstreng

For รฅ finne det totale antallet ganger en delstreng har forekommet i den gitte strengen, bruker vi find()-funksjonen i PythonVi vil gรฅ gjennom strengen i en lรธkke ved hjelp av en for-lรธkke fra 0 til slutten av strengen, og bruke startIndex-parameteren for find().

Variablene startIndex og count vil bli initialisert til 0. Inne i for-lรธkken vil vi sjekke om delstrengen er tilstede i den gitte strengen ved รฅ bruke find() med startIndex som 0.

Verdien som returneres fra find(), hvis ikke -1, vil oppdatere startIndex til indeksen der strengen finnes og ogsรฅ รธke count-verdien.

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

ยป Lรฆr mer om Python String split()

Spรธrsmรฅl og svar

Ja. find() samsvarer nรธyaktig med delstrengen, sรฅ ยซHelloยป.find(ยซhยป) returnerer -1 mens ยซHelloยป.find(ยซHยป) returnerer 0. Konverter strengen med lower() eller upper() fรธrst nรฅr du trenger et sรธk som ikke skiller mellom store og smรฅ bokstaver.

Operatoren `in` returnerer bare True eller Usann for รฅ vise om en delstreng finnes. `find()` gรฅr videre og returnerer den nรธyaktige indeksen til det fรธrste treffet, eller -1 nรฅr delstrengen mangler.

Ja. find() aksepterer negative start- og sluttindekser, som teller fra slutten av strengen. For eksempel, ยซGuru99โ€.find(โ€œ9โ€, -2) sรธker bare etter de to siste tegnene og returnerer posisjonen deres.

Metoden str.find() finner ett treff om gangen. For alle treff i et enkelt kall, bruk re-modulen: re.findall() returnerer hver matchende delstreng, og re.finditer() gir treffobjekter med hver startposisjon.

find() er en metode kun med strenger, sรฅ kalling av den pรฅ en liste genererer en AttributeError. For รฅ finne et element i en liste eller tuple, bruk index()-metoden i stedet, som returnerer posisjonen til det fรธrste treffet.

Ja. For et enkelt sรธk i delstrenger er find() implementert i C og kjรธrer raskere enn รฅ kompilere et regulรฆrt uttrykk. Bruk bare re-modulen nรฅr du trenger mรธnstre, jokertegn eller flere treff.

I maskinlรฆring og NLP finner find() nรธkkelord, tagger eller skilletegn mens den renser og tokeniserer tekst. ร… oppdage om en delstreng er til stede, eller hvor den befinner seg, hjelper med รฅ bygge funksjoner og analysere modellinndata.

Ja. GitHub Copilot fullfรธrer automatisk find(), rfind() og index()-kall fra en kort kommentar som beskriver mรฅlet ditt. Agentic AI-verktรธy gรฅr lenger, skriver sรธkelogikken, legger til start- og sluttargumenter og kjรธrer testene dine.

Oppsummer dette innlegget med: