在Python中查找字符串中所有出现的开始和结束位置 [英] Find start and end positions of all occurrences within a string in Python

查看:97
本文介绍了在Python中查找字符串中所有出现的开始和结束位置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果你有一个序列:

example='abcdefabcdefabcdefg'

以及您的搜索:

searching_for='abc'

什么函数会给你一个包含所有职位的列表?

what function would give you a list with all the positions?

positions=[(0,2),(6-8),(12-14)]

我创建了一个窗口列表,将 'example' 分割为 3,因此它来自 'abc'、'bcd'、'cde'

i created a window list that splits 'example' by 3 so it goes from 'abc','bcd','cde'

windows=['abc', 'bcd', 'cde', 'def', 'efa', 'fab', 'abc', 'bcd', 'cde', 'def', 'efa', 'fab', 'abc', 'bcd', 'cde', 'def']

并使用了for循环

for i in windows:
    if i == 'abc':

这就是我卡住的地方...

thats where i get stuck . . .

推荐答案

可以使用正则表达式;匹配对象带有位置信息附加.使用 Python 2 的示例:

You can use regular expressions; the match objects come with position information attached. Example using Python 2:

>>> import re
>>> example = 'abcdefabcdefabcdefg'
>>> for match in re.finditer('abc', example):
        print match.start(), match.end()
0 3
6 9 
12 15

这篇关于在Python中查找字符串中所有出现的开始和结束位置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆