Python String find()-Methode mit Beispielen

โšก Intelligente Zusammenfassung

Python Die Methode `find()` ist eine integrierte Funktion, die den Index des ersten Vorkommens einer Teilzeichenkette innerhalb einer Zeichenkette zurรผckgibt. Sie gibt -1 zurรผck, wenn die Teilzeichenkette nicht vorhanden ist, um Ausnahmen zu vermeiden.

  • ๐Ÿ” Syntax: Die Funktion find() benรถtigt eine Teilzeichenkette sowie optional einen Start- und Endindex, um den Suchbereich einzugrenzen.
  • ๐ŸŽฏ Erstes Spiel: Die Funktion find() gibt den niedrigsten Index des ersten Vorkommens zurรผck, wobei von links nach rechts gescannt wird.
  • โž– Nicht gefunden: Die Funktion find() gibt -1 zurรผck, anstatt einen Fehler auszulรถsen, wenn die Teilzeichenkette fehlt.
  • ๐Ÿ” find(): Die Methode rfind() gibt den hรถchsten Index zurรผck, indem sie von rechts nach links sucht.
  • โš ๏ธ Index(): Die Methode index() verhรคlt sich wie find(), lรถst aber einen ValueError aus, wenn die Teilzeichenkette fehlt.
  • ๐Ÿค– KI-Unterstรผtzung: KI-Codierungsassistenten generieren die find()-Logik und ermรถglichen die Suche nach Teilstrings in NLP-Textpipelines.

Python Zeichenfolge finden()

Was ist Python Zeichenfolge finden()?

Python Zeichenfolge finden() ist eine Funktion, die in der Python Bibliothek zur Ermittlung des Index des ersten Vorkommens einer Teilzeichenkette in einer gegebenen Zeichenkette. Die Funktion `find()` gibt -1 zurรผck, anstatt eine Ausnahme auszulรถsen, wenn die angegebene Teilzeichenkette in der gegebenen Zeichenkette nicht vorhanden ist. Pythonam hรคufigsten verwendet String-Methoden zum Auffinden von Text.

Syntax von Python Zeichenfolge finden()

Die grundlegende Syntax der Python Die Funktion find() lautet wie folgt:

string.find(substring,start,end)

Parameter fรผr die find()-Methode

Hier sind die drei Parameter der Funktion find() in Python:

  • Teilzeichenfolge: Die Teilzeichenkette, nach der Sie in der angegebenen Zeichenkette suchen mรถchten.
  • Anfang(Optional) Der Startwert, ab dem die Suche nach der Teilzeichenkette beginnt. StandardmรครŸig ist dieser Wert 0.
  • Ende(Optional) Der Endwert, an dem die Suche nach der Teilzeichenkette beendet wird. StandardmรครŸig entspricht der Wert der Lรคnge der Zeichenkette.

Beispiel einer find()-Methode mit Standardwerten

Die an die Python Die `find()`-Methode erwartet die Teilzeichenkette, also die zu suchende Zeichenkette, plus Start- und Endwert. Der Startwert ist standardmรครŸig 0, der Endwert entspricht der Lรคnge der Zeichenkette.

In diesem Beispiel verwenden wir die find()-Methode in Python mit Standardwerten.

Die Methode `find()` sucht nach der Teilzeichenkette und gibt die Position ihres ersten Vorkommens zurรผck. Selbst wenn die Teilzeichenkette mehrfach in der Zeichenkette vorkommt, wird der Index bzw. die Position des ersten Vorkommens zurรผckgegeben.

Ejemplo:

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

Ausgang:

The position of Tutorials is at: 12

Beispiel fรผr find() mit Startargument

Sie kรถnnen in der angegebenen Zeichenkette nach einer Teilzeichenkette suchen und die Startposition der Suche festlegen. Der Parameter โ€žstartโ€œ dient diesem Zweck.

Das folgende Beispiel legt die Startposition als 20 fest und verwendet die Methode find() in Python Die Suche beginnt bei Position 20. Die Endposition entspricht der Lรคnge der Zeichenkette, daher wird ab Position 20 bis zum Ende der Zeichenkette gesucht.

Ejemplo:

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

Ausgang:

The position of Tutorials is at 48

Beispiel fรผr find() mit Start- und Endargumenten

Mithilfe der Start- und Endparameter kรถnnen wir die Suche einschrรคnken, anstatt die gesamte Zeichenkette zu durchsuchen.

Ejemplo:

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

Ausgang:

The position of Tutorials is at 12

Beispiel fรผr die Verwendung der find()-Methode zum Ermitteln der Position einer gegebenen Teilzeichenkette in einer Zeichenkette

Wir wissen, dass die Funktion `find()` uns hilft, den Index des ersten Vorkommens einer Teilzeichenkette zu finden. Sie gibt -1 zurรผck, wenn die Teilzeichenkette in der gegebenen Zeichenkette nicht vorhanden ist. Das folgende Beispiel zeigt den Index, wenn die Zeichenkette vorhanden ist, und -1, wenn die gesuchte Teilzeichenkette nicht gefunden wird.

Ejemplo:

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

Ausgang:

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

Python Zeichenfolge rfind()

Das Python Die Funktion `rfind()` รคhnelt der Funktion `find()`, mit dem einzigen Unterschied, dass `rfind()` den hรถchsten Index der angegebenen Teilzeichenkette zurรผckgibt, wรคhrend `find()` den niedrigsten, also den ersten Index, zurรผckgibt. Sowohl `rfind()` als auch `find()` geben -1 zurรผck, wenn die Teilzeichenkette nicht vorhanden ist.

Im folgenden Beispiel haben wir die Zeichenkette โ€žMeet Guru99 Tutorials-Site. beste Seite fรผr Python Tutorials!" und versucht, die Position der Teilzeichenkette Tutorials mithilfe von find() und rfind() zu finden. Die Teilzeichenkette Tutorials kommt zweimal in der Zeichenkette vor.

Hier ist ein Beispiel, in dem sowohl find() als auch rfind() verwendet werden.

mystring = "Meet Guru99 Tutorials Site.besten site for Python Tutorials!"
print("The position of Tutorials using find() : ", mystring.find("Tutorials"))
print("The position of Tutorials using rfind() : ", mystring.rfind("Tutorials"))

Ausgang:

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

Die Ausgabe zeigt, dass find() den Index der allerersten gefundenen Teilzeichenkette โ€žTutorialsโ€œ angibt, wรคhrend rfind() den letzten Index der Teilzeichenkette โ€žTutorialsโ€œ angibt.

Python Zeichenfolgenindex()

Das Python Die Funktion `index()` gibt, genau wie `find()`, die Position einer gegebenen Teilzeichenkette zurรผck. Der einzige Unterschied besteht darin, dass `index()` eine Ausnahme auslรถst, wenn die Teilzeichenkette nicht in der Zeichenkette enthalten ist, wรคhrend `find()` den Wert -1 zurรผckgibt.

Hier ist ein funktionierendes Beispiel, das das Verhalten von index() und find() zeigt.

mystring = "Meet Guru99 Tutorials Site.besten site for Python Tutorials!"
print("The position of Tutorials using find() : ", mystring.find("Tutorials"))
print("The position of Tutorials using index() : ", mystring.index("Tutorials"))

Ausgang:

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

Sowohl `find()` als auch `index()` liefern die gleiche Position. Betrachten wir ein Beispiel, in dem die gesuchte Teilzeichenkette nicht in der Zeichenkette enthalten ist.

mystring = "Meet Guru99 Tutorials Site.besten site for Python Tutorials!"
print("The position of Tutorials using find() : ", mystring.find("test"))
print("The position of Tutorials using index() : ", mystring.index("test"))

Ausgang:

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

Im obigen Beispiel versuchen wir, die Position der Teilzeichenkette โ€žtestโ€œ zu finden. Da die Teilzeichenkette in der gegebenen Zeichenkette nicht vorhanden ist, liefert `find()` die Position -1. Die Verwendung von `index()` hingegen fรผhrt zu einem Fehler, wie oben gezeigt.

Um das Gesamtvorkommen einer Teilzeichenfolge zu ermitteln

Um die Gesamtzahl der Vorkommen einer Teilzeichenkette in der gegebenen Zeichenkette zu ermitteln, verwenden wir die Funktion find() in PythonWir werden die Zeichenkette mit einer for-Schleife von 0 bis zum Ende der Zeichenkette durchlaufen und dabei den Parameter startIndex der Funktion find() verwenden.

Die Variablen startIndex und count werden mit 0 initialisiert. Innerhalb der for-Schleife prรผfen wir mit find() und startIndex = 0, ob die Teilzeichenkette in der gegebenen Zeichenkette vorhanden ist.

Der von find() zurรผckgegebene Wert wird, falls er nicht -1 ist, auf den Index aktualisiert, an dem die Zeichenkette gefunden wird, und der Zรคhlerwert wird ebenfalls erhรถht.

Hier ist das Arbeitsbeispiel:

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 )

Ausgang:

The total count of substring test is:  6

" Lerne mehr รผber Python Zeichenfolge split()

Hรคufig gestellte Fragen

Ja. `find()` findet die Teilzeichenkette exakt, daher gibt `"Hello".find("h")` -1 zurรผck, wรคhrend `"Hello".find("H")` 0 zurรผckgibt. Konvertieren Sie die Zeichenkette zuerst mit `lower()` oder `upper()`, wenn Sie eine Suche ohne Berรผcksichtigung der GroรŸ-/Kleinschreibung benรถtigen.

Der Operator `in` gibt nur `True` oder `False` zurรผck, um anzuzeigen, ob eine Teilzeichenkette existiert. `find()` geht noch einen Schritt weiter und gibt den genauen Index des ersten Treffers zurรผck oder -1, falls die Teilzeichenkette nicht vorhanden ist.

Ja. Die Funktion `find()` akzeptiert negative Start- und Endindizes, die vom Ende der Zeichenkette aus gezรคhlt werden. Zum Beispiel: โ€žGuru99โ€.find(โ€œ9โ€, -2) sucht nur die letzten beiden Zeichen und gibt deren Position zurรผck.

Die Methode `str.find()` findet jeweils eine รœbereinstimmung. Um alle รœbereinstimmungen mit einem einzigen Aufruf zu finden, verwenden Sie das Modul `re`: `re.findall()` gibt alle รผbereinstimmenden Teilstrings zurรผck, und `re.finditer()` liefert Match-Objekte mit jeder Startposition.

Die Methode `find()` kann nur Zeichenketten verarbeiten. Daher fรผhrt ihr Aufruf auf einer Liste zu einem `AttributeError`. Um ein Element in einer Liste oder einem Tupel zu finden, verwenden Sie stattdessen die Methode `index()`, die die Position des ersten Treffers zurรผckgibt.

Ja. Fรผr eine einfache Teilstringsuche ist `find()` in C implementiert und lรคuft schneller als das Kompilieren eines regulรคren Ausdrucks. Verwenden Sie das Modul `re` nur, wenn Sie Muster, Wildcards oder mehrere Treffer benรถtigen.

Im maschinellen Lernen und der natรผrlichen Sprachverarbeitung (NLP) findet die Funktion `find()` Schlรผsselwรถrter, Tags oder Trennzeichen beim Bereinigen und Tokenisieren von Texten. Das Erkennen, ob eine Teilzeichenkette vorhanden ist oder wo sie sich befindet, hilft beim Erstellen von Merkmalen und beim Parsen der Modelleingaben.

Ja. GitHub Copilot vervollstรคndigt Aufrufe von `find()`, `rfind()` und `index()` anhand eines kurzen Kommentars, der Ihr Ziel beschreibt. Die KI-Tools von Agentic gehen noch einen Schritt weiter: Sie schreiben die Suchlogik, fรผgen Start- und Endargumente hinzu und fรผhren Ihre Tests aus.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: