我打开了一个文件f = open(" somefile.txt"," r") 然后读入变量data = f.read(),现在当我使用data.find(' sometext')时,它给出/显示somefile.txt中第一次出现的偏移量,如果&# 39; sometext'在somefile.txt中重复两次我无法进入第二个。所以我想从特定偏移中找到(),请你举个例子。
答案 0 :(得分:1)
这是一种获得所有(即使是重叠)匹配的方法:
[i for i in range(len(data)) if string.startswith('sometext', i)]
答案 1 :(得分:1)
以下是我使用re.finditer
的建议,它似乎非常适合查找任何子字符串出现的起始索引:
import re
s = "sometext someothertext sometext sometext someothertext some text someothertext"
result = [m.start() for m in re.finditer('sometext', s)]
print(result) # [0, 23, 32]