首页 > 解决方案 > Python - 在字符串的不同部分查找子字符串

问题描述

我有一个字符串,我在其中搜索两个子字符串。如果两者都找到,我希望匹配为真,如果两者都没有找到,我希望匹配为假。如果两个字符串都找到但都在相同的索引上找到,我还希望匹配为假。所以我需要在字符串的不同实例上找到两者。

例如,如果我有一个字符串“23121172”并且我正在寻找“2117”和“117”,那么两个子字符串都会找到。但我想测试匹配项是否匹配相同的字符。

SearchList=["2117","117"]

line = "23121172"

if (all (x in line for x in SearchList)):
    print("Found")
else:
    print("Not Found")

所以一行“23121172”应该打印“Not Found”,一行“2117 117”应该打印“Found”

标签: pythonpython-3.xstringlist

解决方案


如果我对您的理解正确,那么此代码可以帮助您:

for substr in sorted(SearchList, reverse=True):
    if substr in line:
        line = line.replace(substr, '')
    else:
        print("Not Found")
        break
else:
    print("Found")

请记住,代码修改了line,所以如果您仍然需要它,请先创建一个副本


推荐阅读