Pythons String.find()-Methode meistern: Syntax, Beispiele & Alternativen
Was ist Python String.find()?
Die String.find()-Methode in Python gibt den Index des ersten Vorkommens eines spezifizierten Teilstrings innerhalb eines Strings zurück. Wenn der Teilstring nicht gefunden wird, gibt sie gracefully -1 zurück, anstatt eine Exception zu werfen, was sie zu einer praktischen Wahl für Substring-Suchen macht.
In diesem Guide lernen Sie, find() effektiv zu nutzen, seine Parameter zu erkunden, es mit verwandten Methoden zu vergleichen und sogar zu zählen, wie oft ein Teilstring vorkommt.
- String.find() verstehen
- Syntax und Parameter
- Standardargumente nutzen
- Start-Index spezifizieren
- Start- und End-Bereich definieren
- Positionen von Teilstrings finden
- Mit rfind() vergleichen
- Mit index() vergleichen
- Teilstring-Vorkommen zählen
Syntax von Python String find()
Die Methodensignatur ist unkompliziert:
string.find(substring, start, end)
Parameter
- substring – Der Text, nach dem Sie suchen.
- start (optional) – Index, an dem die Suche beginnt; Standard ist
0. - end (optional) – Index, an dem die Suche endet; Standard ist die String-Länge.
find() mit Standardwerten nutzen
Wenn kein start oder end angegeben wird, durchsucht find() den gesamten String vom Anfang an. Es gibt den Index des ersten Matches zurück oder -1, wenn keines gefunden wird.
Beispiel:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("Die Position von Tutorials ist bei:", mystring.find("Tutorials"))
Ausgabe:
Die Position von Tutorials ist bei: 12
Start-Index spezifizieren
Die Angabe eines start-Arguments begrenzt die Suche auf den Beginn an dieser Position, bis zum String-Ende.
Beispiel:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("Die Position von Tutorials ist bei:", mystring.find("Tutorials", 20))
Ausgabe:
Die Position von Tutorials ist bei: 48
Start- und End-Bereich definieren
Durch Angabe von start und end können Sie die Suche auf einen spezifischen Slice des Strings beschränken.
Beispiel:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("Die Position von Tutorials ist bei:", mystring.find("Tutorials", 5, 30))
Ausgabe:
Die Position von Tutorials ist bei: 12
Positionen finden und fehlende Teilstrings handhaben
Hier sehen Sie, wie sich find() verhält, wenn der Teilstring vorhanden ist und wenn er fehlt.
Beispiel:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("Die Position von Best site ist bei:", mystring.find("Best site", 5, 40))
print("Die Position von Guru99 ist bei:", mystring.find("Guru99", 20))
Ausgabe:
Die Position von Best site ist bei: 27
Die Position von Guru99 ist bei: -1
Vergleich mit rfind()
rfind() ähnelt find(), gibt aber den höchsten Index zurück, an dem der Teilstring vorkommt. Wenn der Teilstring nicht vorhanden ist, geben beide Methoden -1 zurück.
Beispiel:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("Position von Tutorials mit find(): ", mystring.find("Tutorials"))
print("Position von Tutorials mit rfind(): ", mystring.rfind("Tutorials"))
Ausgabe:
Position von Tutorials mit find(): 12
Position von Tutorials mit rfind(): 48
Vergleich mit index()
find(), wirft aber einen ValueError, wenn der Teilstring fehlt.
Beispiel:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("Position von Tutorials mit find(): ", mystring.find("Tutorials"))
print("Position von Tutorials mit index(): ", mystring.index("Tutorials"))
Ausgabe:
Position von Tutorials mit find(): 12
Position von Tutorials mit index(): 12
Wenn der Teilstring nicht gefunden wird:
mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("Position von Tutorials mit find(): ", mystring.find("test"))
print("Position von Tutorials mit index(): ", mystring.index("test"))
Ausgabe:
Position von Tutorials mit find(): -1
Traceback (most recent call last):
File "task1.py", line 3, in
print("Position von Tutorials mit index(): ", mystring.index("test"))
ValueError: substring not found
Teilstring-Vorkommen zählen
Um zu zählen, wie oft ein Teilstring auftaucht, iterieren Sie durch den String und rufen wiederholt find() mit aktualisiertem Start-Index auf.
Beispiel:
my_string = "test string test, test string testing, test string test string"
startIndex = 0
count = 0
for _ in range(len(my_string)):
k = my_string.find('test', startIndex)
if k != -1:
startIndex = k + 1
count += 1
print("Gesamtanzahl des Teilstrings test ist:", count)
Ausgabe:
Gesamtanzahl des Teilstrings test ist: 6
Wichtigste Erkenntnisse
find()gibt den ersten passenden Index oder-1zurück, wenn abwesend.- Parameter:
substring, optionalesstart(Default 0), optionalesend(Default Stringlänge). - Nutzen Sie
start, um die Suche an einer bestimmten Position zu beginnen. - Nutzen Sie
startundend, um die Suche auf einen String-Slice zu beschränken. rfind()gibt den letzten passenden Index zurück.index()ist strenger und wirft einen Fehler, wenn der Teilstring fehlt.- Schleifen mit
find()können Gesamtvorkommen zählen.
Python
- Java String length() Methode: String-Länge ermitteln (Beispiel)
- Pythons strip()-Methode meistern: Umfassender Leitfaden & Praxisbeispiele
- Pythons str.count(): Zeichen & Teilstrings zählen mit Beispielen
- Python format()-Strings meistern mit klaren Beispielen
- Python len(): Praktischer Leitfaden zur Messung von Objektlängen
- Python Lambda-Funktionen meistern: Praxisbeispiele & Best Practices
- Python round()-Funktion erklärt mit praktischen Beispielen
- Pythons map()-Funktion meistern: Syntax, Beispiele und Best Practices
- Python timeit(): Ausführungszeit messen mit praktischen Beispielen
- type() und isinstance() in Python verstehen: Praktische Beispiele