python - 查找两个具有重叠字符的子字符串的索引

标签 python string find substring

我想在如下给出的字符串中找到两个子字符串的索引:

find_start = '1L'
find_end = 'L'
>>> blah = 'A1LELST5W'
>>> blah.index('1L')
1
>>> blah.index('L')
2  # i want it to give me 4

如果我使用索引方法,它会给出字符串中的第三个字符“L”。但我希望它将“1L”和“L”视为单独的字符串,并给我第五个字符。

有没有简单的方法可以做到这一点?或者我是否必须将除 find_start 之外的所有内容存储在新字符串中,然后尝试通过该字符串进行索引? (但这会扰乱字符串内所有内容的位置)。

最佳答案

str.index方法具有 startend 参数,允许您限制搜索。因此,您只需在第一个搜索结束的地方开始第二个搜索:

>>> find_start = '1L'
>>> find_end = 'L'
>>> blah = 'A1LELST5W'
>>> first = blah.index('1L')
>>> first
1
>>> blah.index('L', first + len(find_start))
4

关于python - 查找两个具有重叠字符的子字符串的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47187105/

相关文章:

python - 带 python 的位串

python - Numpy 托普利茨矩阵

python - 设置 pyodbc 搜索 odbcinst.ini 文件的位置

javascript - 没有参数的当前 URL、散列、http(s) ://

c - C语言按字母顺序对字符串排序

javascript - 捕获按键以过滤元素

linux - 在目录中查找与特定文件大小匹配的最新文件

xml - 如何搜索xml文件,条件是文件名在文件内

python - 从 python 中的字符串中查找并提取 <a href> 链接

python - 正则表达式匹配封闭美元符号内所有出现的点