Python String find() Methode met voorbeelden

โšก Slimme samenvatting

Python `string find()` is een ingebouwde methode die de index retourneert van de eerste keer dat een substring voorkomt in een string. Als de substring niet aanwezig is, retourneert de methode -1, waardoor uitzonderingen worden voorkomen.

  • ๐Ÿ” Syntax: De functie find() neemt een substring plus optionele begin- en eindindexen om het zoekbereik te beperken.
  • ๐ŸŽฏ Eerste wedstrijd: De functie find() retourneert de laagste index van de eerste voorkomst, van links naar rechts.
  • โž– Niet gevonden: find() retourneert -1 in plaats van een foutmelding te geven wanneer de substring ontbreekt.
  • ๐Ÿ” vind(): De rfind()-methode retourneert de hoogste index, waarbij vanaf de rechterkant wordt gezocht.
  • โš ๏ธ inhoudsopgave(): De index()-methode gedraagt โ€‹โ€‹zich als find(), maar genereert een ValueError wanneer de substring ontbreekt.
  • ๐Ÿค– AI-assistentie: AI-codeerassistenten genereren find()-logica en maken het zoeken naar subtekenreeksen mogelijk in NLP-tekstpipelines.

Python Tekenreeks zoeken()

Wat is Python Tekenreeks zoeken()?

Python Tekenreeks zoeken() is een functie die beschikbaar is in de Python Deze bibliotheek helpt je de index te vinden van de eerste keer dat een substring voorkomt in een gegeven string. De `find()`-functie retourneert -1 in plaats van een uitzondering te genereren wanneer de opgegeven substring niet in de string voorkomt. Het is een van de Python's meest gebruikte string methoden voor het lokaliseren van tekst.

Syntaxis van Python tekenreeks zoeken()

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

string.find(substring,start,end)

Parameters voor de find()-methode

Hieronder staan โ€‹โ€‹de drie parameters van de find()-functie in Python:

  • deelstring: De subtekenreeks waarnaar u wilt zoeken in de gegeven tekenreeks.
  • begin: (optioneel) De startwaarde van waaruit de zoektocht naar de substring begint. Standaard is dit 0.
  • einde: (optioneel) De eindwaarde waar de zoektocht naar de subtekenreeks stopt. Standaard is de waarde de lengte van de tekenreeks.

Voorbeeld van de methode find() met standaardwaarden

De parameters die aan de Python De `find()`-methode gebruikt de substring, oftewel de string waarnaar je wilt zoeken, plus een begin- en eindwaarde. De beginwaarde is standaard 0 en de eindwaarde is de lengte van de string.

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

De `find()`-methode zoekt naar de substring en geeft de positie van de allereerste keer dat de substring voorkomt. Als de substring meerdere keren in de gegeven string voorkomt, retourneert de methode nog steeds de index of positie van de eerste keer.

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

Je kunt in de opgegeven tekenreeks naar een subtekenreeks zoeken en de startpositie van de zoekopdracht specificeren. Hiervoor kun je de parameter 'start' gebruiken.

Het onderstaande voorbeeld specificeert de startpositie als 20, en de find()-methode in Python De zoekopdracht begint bij positie 20. De eindpositie is hier de lengte van de tekenreeks, dus er wordt vanaf positie 20 tot het einde van de tekenreeks 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

Door de start- en eindparameters te gebruiken, kunnen we de zoekopdracht beperken in plaats van de hele tekenreeks 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 find()-methode om de positie van een gegeven substring in een string te vinden.

We weten dat de functie `find()` ons helpt de index van de eerste keer dat een substring voorkomt te vinden. De functie retourneert -1 als de substring niet in de gegeven string aanwezig is. Het onderstaande voorbeeld laat de index zien wanneer de string aanwezig is en -1 wanneer de gezochte substring niet wordt gevonden.

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 als enige verschil dat rfind() de hoogste index voor de gegeven substring retourneert, terwijl find() de laagste index, oftewel de allereerste index, retourneert. Zowel rfind() als find() retourneren -1 als de substring niet aanwezig is.

In het onderstaande voorbeeld hebben we de tekenreeks "Meet" Guru99 Tutorials-website. De beste website voor Python Tutorials!โ€ en zal proberen de positie van de substring "Tutorials" te vinden met behulp van find() en rfind(). De substring "Tutorials" komt twee keer voor in de string.

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 substring "Tutorials" die het vindt, terwijl rfind() de index geeft van de laatste substring "Tutorials".

Python tekenreeksindex()

De Python De functie `index()` geeft je de positie van de opgegeven substring, net als `find()`. Het enige verschil is dat `index()` een uitzondering genereert als de substring niet in de string voorkomt, terwijl `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 waarbij de opgegeven substring niet in de string voorkomt.

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, dus met find() krijgen we positie -1, maar index() geeft een foutmelding, zoals hierboven weergegeven.

Om het totale voorkomen van een subtekenreeks te vinden

Om het totale aantal keren te vinden dat een substring voorkomt in de gegeven string, maken we gebruik van de find()-functie in PythonWe doorlopen de tekenreeks met behulp van een for-lus vanaf index 0 tot het einde van de tekenreeks, waarbij we de parameter startIndex gebruiken voor find().

De variabelen startIndex en count worden geรฏnitialiseerd op 0. Binnen de for-lus controleren we of de substring aanwezig is in de gegeven string met behulp van find(), waarbij startIndex 0 is.

De waarde die door find() wordt geretourneerd, zal, indien deze niet -1 is, startIndex bijwerken naar de index waar de tekenreeks wordt gevonden en tevens de tellerwaarde verhogen.

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

" Leer meer over Python Tekenreeks splitsen()

Veelgestelde vragen

Ja. `find()` zoekt exact naar de substring, dus "Hello".find("h") geeft -1 terug, terwijl "Hello".find("H") 0 teruggeeft. Converteer de string eerst met `lower()` of `upper()` als je een zoekopdracht zonder rekening te houden met hoofdletters en kleine letters nodig hebt.

De `in`-operator retourneert alleen `True` of `False` om aan te geven of een substring bestaat. `find()` gaat verder en retourneert de exacte index van de eerste overeenkomst, of -1 als de substring ontbreekt.

Ja. De functie `find()` accepteert negatieve begin- en eindindexen, die vanaf het einde van de tekenreeks tellen. Bijvoorbeeld: โ€œGuru99โ€.find(โ€œ9โ€, -2) zoekt alleen in de laatste twee tekens en geeft hun positie terug.

De `str.find()`-methode zoekt รฉรฉn overeenkomst tegelijk. Voor alle overeenkomsten in รฉรฉn aanroep kunt u de `re`-module gebruiken: `re.findall()` retourneert elke overeenkomende substring en `re.finditer()` levert overeenkomstobjecten op met elke startpositie.

`find()` is een methode die alleen strings accepteert, dus het aanroepen ervan op een lijst geeft een `AttributeError`. Om een โ€‹โ€‹item in een lijst of tuple te vinden, gebruik je in plaats daarvan de `index()`-methode, die de positie van de eerste overeenkomst retourneert.

Ja. Voor een eenvoudige zoekopdracht naar een subtekenreeks is de `find()`-functie in C geรฏmplementeerd en werkt deze sneller dan het compileren van een reguliere expressie. Gebruik de `re`-module alleen wanneer je patronen, wildcards of meerdere overeenkomsten nodig hebt.

In machine learning en NLP lokaliseert de functie `find()` trefwoorden, tags of scheidingstekens tijdens het opschonen en tokeniseren van tekst. Het detecteren of een substring aanwezig is, of waar deze zich bevindt, helpt bij het opbouwen van kenmerken en het parsen van modelinvoer.

Ja. GitHub Copilot vult automatisch de functies find(), rfind() en index() aan op basis van een korte opmerking waarin je je doel beschrijft. De tools van Agentic AI gaan nog een stap verder: ze schrijven de zoeklogica, voegen begin- en eindargumenten toe en voeren je tests uit.

Vat dit bericht samen met: