Home > Backend Development > Python Tutorial > How to Find the Nth Occurrence of a Substring in Python?

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

Barbara Streisand
Release: 2024-10-20 07:29:02
Original
865 people have browsed it

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

Finding the Nth Occurrence of a Substring in Python

Finding the nth occurrence of a substring within a string can be achieved through various methods in Python. One straightforward approach is an iterative approach, where the first occurrence of the substring is located and subsequent occurrences are found by incrementally searching after the end of the previous occurrence.

To implement this iterative approach, the following code can be used:

<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>
Copy after login

This function takes the haystack string, the needle substring, and the nth occurrence to find. It returns the index corresponding to that occurrence, or -1 if the occurrence cannot be found.

This approach is relatively straightforward and provides a clear understanding of how the nth occurrence is located. However, it may require multiple passes through the string if the nth occurrence is located far from the beginning of the string.

For example, to find the second occurrence of "foofoo" in the string "foofoofoofoo", the following code can be used:

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

This will return the index 6, which corresponds to the second occurrence of "foofoo" in the string.

The above is the detailed content of How to Find the Nth Occurrence of a Substring in Python?. For more information, please follow other related articles on the PHP Chinese website!

source:php
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template