Python String find() Methode met voorbeelden

Wat is Python String find()?

Python-tekenreeks zoeken() is een functie die beschikbaar is in de Python-bibliotheek om de index te vinden van de eerste keer dat een substring uit de gegeven string voorkomt. De string find() functie retourneert -1 in plaats van throwing een uitzondering als de opgegeven subtekenreeks niet aanwezig is in de gegeven tekenreeks.

Syntaxis van Python-tekenreeks find()

De basissyntaxis van de Python find()-functie is als volgt:

string.find(substring,start,end)

Parameters voor de find()-methode

Hier zijn drie parameters van de functie String find() in Python:

  • deelstring: De subtekenreeks die u in de opgegeven tekenreeks wilt doorzoeken.
  • begin: (optioneel) De startwaarde vanaf waar het zoeken naar subtekenreeks begint. Standaard is dit 0.
  • einde: (optioneel) De eindwaarde waar het zoeken naar subtekenreeks eindigt. Standaard is de waarde de lengte van de tekenreeks.

Voorbeeld van de methode find() met standaardwaarden

De parameters die aan de Python find()-methode worden doorgegeven, zijn substring, dat wil zeggen de string waarnaar u wilt zoeken, beginnend en eindigend. De startwaarde is standaard 0 en de eindwaarde is de lengte van de tekenreeks.

In dit voorbeeld gebruiken we de methode find() in Python met standaardwaarden.

De methode find() zoekt naar de subtekenreeks en geeft de positie weer van de allereerste keer dat de subtekenreeks voorkomt. Als de substring meerdere keren aanwezig is in de gegeven string, zal deze u nog steeds de index of positie van de eerste string retourneren.

Voorbeeld:

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

Output:

The position of Tutorials is at: 12

Voorbeeld van find() met behulp van het startargument

U kunt de substring in de gegeven string doorzoeken en de startpositie opgeven, vanwaar de zoekopdracht zal beginnen. Hiervoor kan de startparameter worden gebruikt.

In het voorbeeld wordt de startpositie gespecificeerd als 15, en de find() in de Python-methode begint met zoeken vanaf positie 15. Hier zal de eindpositie de lengte van de string zijn en zal er vanaf 15 posities tot het einde van de string worden gezocht. verder.

Voorbeeld:

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

Output:

The position of Tutorials is at 48

Voorbeeld van find() met behulp van start- en eindargumenten

Met behulp van de start- en end-parameter zullen we proberen de zoekopdracht te beperken, in plaats van searching de hele string.

Voorbeeld:

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

Output:

The position of Tutorials is at 12

Voorbeeld van de methode find() Om de positie van een gegeven subtekenreeks in een tekenreeks te vinden

We weten dat find() ons helpt de index te vinden van de eerste keer dat een substring voorkomt. Het retourneert -1 als de subtekenreeks niet aanwezig is in de gegeven tekenreeks. Het onderstaande voorbeeld toont de index wanneer de string aanwezig is en -1 wanneer we de substring die we zoeken niet vindenarchivoor.

Voorbeeld:

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

Output:

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

Python-tekenreeks rfind()

De Python-functie rfind() is vergelijkbaar met de find()-functie, met als enige verschil dat rfind() de hoogste index voor de opgegeven subtekenreeks geeft en find() de laagste, dat wil zeggen de allereerste index. Zowel rfind() als find() retourneren -1 als de subtekenreeks niet aanwezig is.

In het onderstaande voorbeeld hebben we de string “Meet Guru99 Tutorials Site. Beste site voor Python-zelfstudies!” en zal proberen de positie van substring Tutorials te vinden met behulp van find() en rfind(). Het voorkomen van Tutorials in de string is tweemaal.

Hier is een voorbeeld waarin zowel find() als rfind() worden gebruikt.

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

Output:

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

De uitvoer laat zien dat find() de index geeft van de allereerste Tutorials-substring die het krijgt, en rfind() de laatste index van substring Tutorials geeft.

Python-tekenreeksindex()

De Python-stringindex() is een functie die u de positie van de opgegeven substring geeft, net als find(). Het enige verschil tussen de twee is dat index() een uitzondering genereert als de subtekenreeks niet aanwezig is in de tekenreeks, en dat find() -1 retourneert.

Hier is een werkend voorbeeld dat het gedrag van index() en find() laat zien.

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

Output:

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

We krijgen dezelfde positie voor zowel find() als index(). Laten we een voorbeeld bekijken waarin de gegeven substring niet aanwezig is in de string.

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

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

In het bovenstaande voorbeeld proberen we de positie van de substring “test” te vinden. De substring is niet aanwezig in de gegeven string, en daarom krijgen we met find() de positie -1, maar voor index() genereert het een fout zoals hierboven weergegeven.

Om het totale voorkomen van een subtekenreeks te vinden

Om het totale aantal keren te vinden dat de substring in de gegeven string voorkomt, zullen we gebruik maken van de find() functie in Python. Loopt door de string met behulp van for-loop van 0 tot het einde van de string. Zal gebruik maken van de parameter startIndex voor find().

Variabelen startIndex en count worden geïnitialiseerd op 0. Inside for –loop controleert of de substring aanwezig is in de string die is opgegeven met behulp van find() en startIndex als 0.

Als de waarde die wordt geretourneerd door find() niet -1 is, wordt de startIndex bijgewerkt naar de index waarin de tekenreeks is gevonden en wordt ook de telwaarde verhoogd.

Hier is het werkende voorbeeld:

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

Samengevat

  • De Python string find() methode helpt bij het vinden van de index van de eerste keer dat de substring in de gegeven string voorkomt. Het retourneert -1 als de subtekenreeks niet aanwezig is.
  • De parameters die aan de Python find substring-methode worden doorgegeven, zijn substring, dat wil zeggen de string waarnaar u wilt zoeken, het begin en het einde. De startwaarde is standaard 0 en de eindwaarde is de lengte van de tekenreeks.
  • U kunt de substring in de gegeven string doorzoeken en de startpositie opgeven, vanwaar de zoekopdracht zal beginnen. Hiervoor kan de startparameter worden gebruikt.
  • Met behulp van de start- en end-parameter zullen we proberen de zoekopdracht te beperken, in plaats van searching de hele string.
  • Het Python-functie rfind() is vergelijkbaar met de functie find() met het enige verschil dat rfind() de hoogste index geeft voor de gegeven subtekenreeks en find() de laagste geeft, dwz de allereerste index. Zowel rfind() als find() retourneren -1 als de subtekenreeks niet aanwezig is.
  • De Python-stringindex() is nog een andere functie die je de positie van de opgegeven substring geeft, net als find(). Het enige verschil tussen de twee is dat index() een uitzondering genereert als de subtekenreeks niet aanwezig is in de tekenreeks, en dat find() -1 retourneert.
  • We kunnen find() gebruiken om het aantal keren dat een subtekenreeks in een bepaalde tekenreeks voorkomt te vinden.

" Leer meer over Python-tekenreeks splitsen()