这是字符串拆分的替代方法,通常可用于查找相关过程:
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')