Python's String.find()-methode beheersen: Syntaxis, voorbeelden & alternatieven
Wat is Python String.find()?
De String.find()-methode in Python retourneert de index van de eerste voorkomen van een gespecificeerde substring binnen een string. Als de substring niet gevonden wordt, retourneert het graceful -1 in plaats van een exception te gooien, wat het een handige keuze maakt voor substring-zoekopdrachten.
In deze gids leer je hoe je find() effectief gebruikt, de parameters verkent, het vergelijkt met gerelateerde methodes en zelfs telt hoe vaak een substring voorkomt.
- String.find() begrijpen
- Syntax en parameters
- Standaardargumenten gebruiken
- Start-index specificeren
- Start- en eindbereik definiëren
- Posities van substrings vinden
- Vergelijken met rfind()
- Vergelijken met index()
- Substring-voorkomens tellen
Syntax van Python string find()
De methode's handtekening is eenvoudig:
string.find(substring, start, end)
Parameters
- substring – De tekst waar je naar zoekt.
- start (optioneel) – Index waar de zoekopdracht begint; standaard
0. - end (optioneel) – Index waar de zoekopdracht eindigt; standaard de lengte van de string.
find() gebruiken met standaardwaarden
Wanneer geen start of end wordt gegeven, scant find() de gehele string vanaf het begin. Het retourneert de index van de eerste match of -1 als geen gevonden wordt.
Voorbeeld:
mijnstring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!" print("De positie van Tutorials is op:", mijnstring.find("Tutorials")) Uitvoer:
De positie van Tutorials is op: 12
Een start-index specificeren
Het doorgeven van een start-argument beperkt de zoekopdracht om op die positie te beginnen, uitgebreid tot het einde van de string.
Voorbeeld:
mijnstring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!" print("De positie van Tutorials is op:", mijnstring.find("Tutorials", 20)) Uitvoer:
De positie van Tutorials is op 48
Een start- en eindbereik definiëren
Door zowel start als end te leveren, kun je de zoekopdracht beperken tot een specifieke slice van de string.
Voorbeeld:
mijnstring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!" print("De positie van Tutorials is op:", mijnstring.find("Tutorials", 5, 30)) Uitvoer:
De positie van Tutorials is op 12
Posities vinden en ontbrekende substrings afhandelen
Hier is hoe find() zich gedraagt wanneer de substring aanwezig is en wanneer het afwezig is.
Voorbeeld:
mijnstring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!" print("De positie van Best site is op:", mijnstring.find("Best site", 5, 40)) print("De positie van Guru99 is op:", mijnstring.find("Guru99", 20)) Uitvoer:
De positie van Best site is op: 27 De positie van Guru99 is op: -1
Vergelijken met rfind()
rfind() is vergelijkbaar met find() maar retourneert de hoogste index waar de substring voorkomt. Als de substring niet aanwezig is, geven beide methodes -1 terug.
Voorbeeld:
mijnstring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!" print("De positie van Tutorials met find() : ", mijnstring.find("Tutorials")) print("De positie van Tutorials met rfind() : ", mijnstring.rfind("Tutorials")) Uitvoer:
De positie van Tutorials met find() : 12 De positie van Tutorials met rfind() : 48
Vergelijken met index()
De index()-methode gedraagt zich als find() maar gooit een ValueError wanneer de substring ontbreekt.
Voorbeeld:
mijnstring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!" print("De positie van Tutorials met find() : ", mijnstring.find("Tutorials")) print("De positie van Tutorials met index() : ", mijnstring.index("Tutorials")) Uitvoer:
De positie van Tutorials met find() : 12 De positie van Tutorials met index() : 12
Wanneer de substring niet gevonden wordt:
mijnstring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!" print("De positie van Tutorials met find() : ", mijnstring.find("test")) print("De positie van Tutorials met index() : ", mijnstring.index("test")) Uitvoer:
De positie van Tutorials met find() : -1 Traceback (most recent call last): File "task1.py", line 3, in <module> print("De positie van Tutorials met index() : ", mijnstring.index("test")) ValueError: substring not found Substring-voorkomens tellen
Om te tellen hoe vaak een substring voorkomt, itereer door de string en roep herhaaldelijk find() aan met een bijgewerkte start-index.
Voorbeeld:
mijn_string = "test string test, test string testing, test string test string" startIndex = 0 count = 0 for _ in range(len(mijn_string)): k = mijn_string.find('test', startIndex) if k != -1: startIndex = k + 1 count += 1 print("Het totale aantal substring test is:", count) Uitvoer:
Het totale aantal substring test is: 6
Belangrijkste aan te houden punten
find()retourneert de eerste matchende index of-1als afwezig.- Parameters:
substring, optioneelstart(default 0), optioneelend(default string-lengte). - Gebruik
startom de zoekopdracht op een specifieke positie te beginnen. - Gebruik
startenendom de zoekopdracht te beperken tot een substring-slice. rfind()retourneert de laatste matchende index.index()is strenger, gooit een error wanneer de substring ontbreekt.- Lopen met
find()kan totale voorkomens tellen.
Python
- Python's strip()-methode beheersen: Uitgebreide handleiding & praktische voorbeelden
- Python's str.count() beheersen: Karakters & substrings tellen met voorbeelden
- Python `format()` strings beheersen met duidelijke voorbeelden
- Python len(): Praktische handleiding voor het meten van objectlengtes
- Python lambda-functies beheersen: praktische voorbeelden & best practices
- Python round()-functie uitgelegd met praktische voorbeelden
- Python's map()-functie beheersen: syntaxis, voorbeelden en best practices
- Python timeit() – Uitvoeringstijd meten met praktische voorbeelden
- type() en isinstance() in Python begrijpen: praktische voorbeelden
- Java String length() Methode: Hoe de grootte van een String op te vragen (Voorbeeld)
- Java String.indexOf() beheersen: Substrings lokaliseren & praktische voorbeelden