Das N-te Vorkommen eines Strings in Python finden
Das Identifizieren des Index des n-ten Vorkommens eines Teilstrings innerhalb eines Strings ist a häufige Aufgabe in der Programmierung. Allerdings bietet die integrierte Suchmethode von Python keine einfache Möglichkeit, die Vorkommensnummer anzugeben.
Lösung:
Anstatt sich direkt auf die Suchmethode zu verlassen, Hier ist eine Pythonic-Lösung, die den Teilstring iterativ lokalisiert und die Anzahl der Vorkommen erhöht, bis der gewünschte Wert erreicht ist:
<code class="python">def find_nth(haystack: str, needle: str, n: int) -> int: """Find the index of the nth occurrence of needle in haystack.""" start = haystack.find(needle) while start >= 0 and n > 1: start = haystack.find(needle, start+len(needle)) n -= 1 return start</code>
Verwendung:
Um den Index des zu finden Beim zweiten Vorkommen der Teilzeichenfolge „foofoo“ in der Zeichenfolge „foofoofoofoo“ würden Sie Folgendes aufrufen:
<code class="python">find_nth("foofoofoofoo", "foofoo", 2)</code>
Dies würde den Index 6 zurückgeben, entsprechend der Startposition der zweiten Teilzeichenfolge „foofoo“.
Überlegungen zu überlappenden Vorkommen:
Wenn Sie den Index des n-ten überlappenden Vorkommens der Teilzeichenfolge finden müssen, können Sie die Funktion find_nth ändern, um die Startposition zu erhöhen um 1 statt der Nadellänge:
<code class="python">def find_nth_overlapping(haystack, needle, n): """Find the index of the nth overlapping occurrence of needle in haystack.""" start = haystack.find(needle) while start >= 0 and n > 1: start = haystack.find(needle, start+1) n -= 1 return start</code>
Das obige ist der detaillierte Inhalt vonWie finde ich das N-te Vorkommen einer Zeichenfolge in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!