2024-09-19 23:32:29 发布
网友
我有一条短信:
joiskodposkfkfsdpsstopjisjijdjnsndsjijdstopisjidinsindistopskndishf
它包含几个"stop"。我想找到索引的所有地点“停止”发生。我该怎么做?我试过名单,但我似乎只得到了第一个位置。你能用枚举法吗?在
"stop"
谢谢!在
可以使用正则表达式:
import re for match in re.finditer('stop', text): print match.start()
https://docs.python.org/2/library/re.html#re.finditer
备注:改用^{} solution!它更高效、更易读。
您可以简单地在字符串上迭代并检查字符串(从给定字符开始)是否以“stop”单词开头:
>>> s = 'joiskodposkfkfsdpsstopjisjijdjnsndsjijdstopisjidinsindistopskndishf' >>> [pos for pos in range(len(s)) if s[pos:].startswith('stop')] [18, 39, 55]
另一个选项是重复调用s.find('stop', X),其中X是最后一个匹配的位置+1(如果从未匹配过,则为0)。
s.find('stop', X)
可以使用正则表达式:
https://docs.python.org/2/library/re.html#re.finditer
备注:改用^{} solution !它更高效、更易读。
您可以简单地在字符串上迭代并检查字符串(从给定字符开始)是否以“stop”单词开头:
另一个选项是重复调用
s.find('stop', X)
,其中X是最后一个匹配的位置+1(如果从未匹配过,则为0)。相关问题 更多 >
编程相关推荐