python寻找两字符串的公共子串 python两个字符串匹配

您所在的位置:网站首页 两个字符串的公共子串python python寻找两字符串的公共子串 python两个字符串匹配

python寻找两字符串的公共子串 python两个字符串匹配

#python寻找两字符串的公共子串 python两个字符串匹配| 来源: 网络整理| 查看: 265

我正在使用Python,我希望将一个给定的字符串与多个子字符串相匹配。我试图用两种不同的方法来解决这个问题。我的第一个解决方案是将子字符串与以下字符串匹配:str = "This is a test string from which I want to match multiple substrings"

value = ["test", "match", "multiple", "ring"]

temp = []

temp.extend([x.upper() for x in value if x.lower() in str.lower()])

print(temp)

结果是temp=[“TEST”,“MATCH”,“MULTIPLE”,“RING”]

然而,这不是我想要的结果。子字符串应该完全匹配,因此“ring”不应该与“string”匹配。在

这就是为什么我试图用正则表达式来解决这个问题,比如:

^{pr2}$

结果是[“TEST”,“MATCH”,“MULTIPLE”]是正确的解决方案。尽管如此,这个解的计算时间太长了。我必须对大约100万个字符串进行检查,使用regex的解决方案需要几天时间才能完成,而使用第一个解决方案需要1.5小时。在

我想知道是否有办法让第一个解决方案奏效,或者第二个方案运行得更快。提前谢谢

EDIT:value也可以包含数字,或一个短短语,如“test1test2”



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3