我有一个大弦。我通常只需要搜索该字符串的一部分,但是现在我确实需要搜索在大字符串中在切片中找到的位的位置。
有没有办法在字符串上使用“掩码”?那是
original = 'This is a mock-up large string'
a_slice = original[10:23]
a_slice.find('o')
>>> 1 in a_slice; 11 in original
简单地重复搜索是没有选择的,因为那会占用大量CPU资源。
上面的玩具示例使用find。在实践中,我使用re.finditer()。
像要求的那样,如果您想使用finditer(它返回Match对象的迭代器):
>>> import re
>>> original = 'This is a mock-up large string'
>>> p = re.compile('o')
>>> for match in p.finditer(original, 10, 23):
... print match.pos
10
简短说明:finditer()函数(https://docs.python.org/2/library/re.html#re.finditer)与regex对象(https://上的finditer()方法不同docs.python.org/2/library/re.html#re.RegexObject.finditer)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句