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