在Python中查找字符串中多次出现的字符串

如何在Python中查找字符串中多次出现的字符串?考虑这一点:

&gt&燃气轮机&燃气轮机;text=“允许Hello空心”
&燃气轮机&燃气轮机&燃气轮机;text.find(“ll”)
1.
&燃气轮机&燃气轮机&燃气轮机;

因此,ll的第一次出现如预期的那样为1。我如何找到下一次发生的情况

同样的问题也适用于列表。考虑:

&gt&燃气轮机&燃气轮机;x=['ll','ok','ll']

如何找到所有的ll及其索引

使用正则表达式,可以使用re.finditer查找所有(非重叠)事件:

&gt&燃气轮机&燃气轮机;进口稀土
&燃气轮机&燃气轮机&燃气轮机;text='Allowed Hello Hollow'
&燃气轮机&燃气轮机&燃气轮机;对于re.finditer中的m('ll',文本):
打印('ll found',m.start(),m.end())
我找到了13个
我找到了1012
我找到了16 18

或者,如果您不想增加正则表达式的开销,也可以重复使用str.find来获取下一个索引:

&gt&燃气轮机&燃气轮机;text='Allowed Hello Hollow'
&燃气轮机&燃气轮机&燃气轮机;索引=0
&燃气轮机&燃气轮机&燃气轮机;而指数<len(正文):
index=text.find('ll',index)
如果索引==-1:
打破
打印('ll位于',索引)
索引+=2#+2,因为len('ll')==2
我会在1点找到你
我10点被找到
我16岁就被找到了

这也适用于列表和其他序列

发表评论