Sometimes, we want to find the nth occurrence of substring in a string with Python.
In this article, we’ll look at how to find the nth occurrence of substring in a string with Python.
How to find the nth occurrence of substring in a string with Python?
To find the nth occurrence of substring in a string with Python, we can use a loop to find it.
For instance, we write:
def find_nth(haystack, needle, n):
start = haystack.find(needle)
while start >= 0 and n > 1:
start = haystack.find(needle, start + len(needle))
n -= 1
return start
index = find_nth("foofoofoofoo", "foofoo", 2)
print(index)
to define the find_nth
function that searches the haystack
string for the needle
.
And we want to find the n
th occurrence of it.
In the function, we call haystack.find
with needle
to find the index of the first occurrence of needle
.
If start
is bigger than or equal to 0 and n
is bigger than 1, then we start the while loop to use haystack.find(needle, start + len(needle))
to update start
until n
becomes 0.
Finally, we return start
which is the first index of the nth occurrence of the needle
.
Therefore, index
is 6.
Conclusion
To find the nth occurrence of substring in a string with Python, we can use a loop to find it.