小编典典

查找字符串中子字符串的第n次出现

python

这似乎应该是微不足道的,但是我是Python的新手,并且希望以最Python的方式进行操作。

我想找到与字符串中的子字符串的第n次出现相对应的索引。

一定有什么我想做的事情是

mystring.find("substring", 2nd)

如何在Python中实现?


阅读 271

收藏
2020-12-20

共1个答案

小编典典

我认为,Mark的迭代方法将是通常的方法。

这是字符串拆分的替代方法,通常可用于查找相关过程:

def findnth(haystack, needle, n):
    parts= haystack.split(needle, n+1)
    if len(parts)<=n+1:
        return -1
    return len(haystack)-len(parts[-1])-len(needle)

这是一种快速(有点脏,因为您必须选择一些无法与针头相匹配的谷壳)的单缸套:

'foo bar bar bar'.replace('bar', 'XXX', 1).find('bar')
2020-12-20