我认为,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')


