获取子字符串之前和之后的索引

时间:2018-08-01 19:14:12

标签: python string substring

substring_list = ['苹果','香蕉','梨'] mystr =“苹果比香蕉对您的健康更有益”
对于substring_list中的单词:   如果mystr中的单词:   #如何获得子字符串的索引之前和之后

2 个答案:

答案 0 :(得分:0)

IIUC,您可以使用list comprehension轻松创建在列表中找到的值的元组,并找到它们的开始(包括)和结束(不包括)。此外,通过将所有内容移至lower(),可以确保同时捕获大写和小写实例。

indices = [(mystr.lower().find(x.lower()), mystr.lower().find(x.lower()) + len(x)) for x in substring_list if mystr.lower().find(x.lower()) != -1]
indices    
[(0, 6), (41, 48)]

编辑

for i, j in list(reversed(indices)):
     mystr = mystr.replace(mystr[i:j],'')
mystr
' are good for your health morethan '

答案 1 :(得分:0)

您可以这样做:

list_mystr = list(mystr)

for idx, word in enumerate(substring_list):
    if word in list_mystr:
        before_idx = idx - 1
        after_idx = idx + 1