Heim  >  Artikel  >  Backend-Entwicklung  >  Wie finde ich das N-te Vorkommen eines Teilstrings in Python?

Wie finde ich das N-te Vorkommen eines Teilstrings in Python?

Barbara Streisand
Barbara StreisandOriginal
2024-10-20 07:29:02766Durchsuche

How to Find the Nth Occurrence of a Substring in Python?

Das N-te Vorkommen eines Teilstrings in Python finden

Das Finden des n-ten Vorkommens eines Teilstrings innerhalb eines Strings kann durch verschiedene Methoden in erreicht werden Python. Ein unkomplizierter Ansatz ist ein iterativer Ansatz, bei dem das erste Vorkommen der Teilzeichenfolge lokalisiert wird und nachfolgende Vorkommen durch inkrementelle Suche nach dem Ende des vorherigen Vorkommens gefunden werden.

Um diesen iterativen Ansatz zu implementieren, kann der folgende Code sein verwendet:

<code class="python">def find_nth(haystack: str, needle: str, n: int) -> int:
    start = haystack.find(needle)
    while start >= 0 and n > 1:
        start = haystack.find(needle, start+len(needle))
        n -= 1
    return start</code>

Diese Funktion sucht nach der Heuhaufenzeichenfolge, der Nadelteilzeichenfolge und dem n-ten Vorkommen. Es gibt den Index zurück, der diesem Vorkommen entspricht, oder -1, wenn das Vorkommen nicht gefunden werden kann.

Dieser Ansatz ist relativ einfach und bietet ein klares Verständnis dafür, wo sich das n-te Vorkommen befindet. Allerdings kann es mehrere Durchgänge durch die Zeichenfolge erfordern, wenn das n-te Vorkommen weit vom Anfang der Zeichenfolge entfernt liegt.

Um beispielsweise das zweite Vorkommen von „foofoo“ in der Zeichenfolge „foofoofoofoo“ zu finden, muss die Folgender Code kann verwendet werden:

<code class="python">find_nth("foofoofoofoo", "foofoo", 2)</code>

Dies gibt den Index 6 zurück, der dem zweiten Vorkommen von „foofoo“ in der Zeichenfolge entspricht.

Das obige ist der detaillierte Inhalt vonWie finde ich das N-te Vorkommen eines Teilstrings in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn