Python String find() Methode met voorbeelden
Wat is Python Tekenreeks zoeken()?
Python Tekenreeks zoeken() is een functie die beschikbaar is in Python bibliotheek om de index van de eerste keer dat een substring voorkomt in de gegeven string te vinden. De string find() functie retourneert -1 in plaats van een uitzondering te gooien, als de opgegeven substring niet aanwezig is in de gegeven string.
Syntaxis van Python tekenreeks zoeken()
De basissyntaxis van 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 zijn doorgegeven aan Python find() methode zijn substring, dat wil zeggen de string waarnaar u wilt zoeken, starten en eindigen. 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 Python methode begint het 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.
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-parameters proberen we de zoekopdracht te beperken, in plaats van de hele string te doorzoeken.
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 van de eerste keer dat een substring voorkomt te vinden. Het retourneert -1 als de substring niet in de gegeven string voorkomt. Het onderstaande voorbeeld toont de index als de string wel voorkomt en -1 als we de substring waarnaar we zoeken niet vinden.
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 De 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.
In het onderstaande voorbeeld hebben we de string “Meet Guru99 Tutorials Site. Beste site voor Python Tutorials!” 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 string index() 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 de functie find() gebruiken 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
Samenvatting
- De Python De methode string find() helpt bij het vinden van de index van de eerste keer dat de subtekenreeks in de gegeven tekenreeks voorkomt. Het retourneert -1 als de subtekenreeks niet aanwezig is.
- De parameters die zijn doorgegeven aan Python find substring-methode zijn substring, dwz de string waarnaar u wilt zoeken, starten en eindigen. 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-parameters proberen we de zoekopdracht te beperken, in plaats van de hele string te doorzoeken.
- De 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 string index() 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()
