这似乎应该是微不足道的,但是我是Python的新手,并且希望以最Python的方式进行操作。
我想找到与字符串中的子字符串的第n次出现相对应的索引。
一定有什么我想做的事情是
mystring.find("substring", 2nd)
如何在Python中实现?
我认为,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')