繁体   English   中英

在python中找到最长的子字符串

[英]Find longest substring in python

我有一个输入字符串和一个由不同字符串组成的文件,每行一个。 我正在尝试查找输入字符串中是否有与文件中的整行匹配的子字符串。 它可以工作,但是由于文件中的某些行恰好是其他行的子字符串,因此我并不总是能获得正确的结果。 那么有没有办法找到与文件中的一行匹配的最长子字符串? 例如,说文件包含:汽车,红色汽车。 我的输入是“我喜欢我的红色汽车”。 有没有一种方法可以返回“红色汽车”,而不仅仅是“汽车”?

这是我的代码:

wordsDoc = open('Database.txt', 'r', encoding='latin-1')
words = wordsDoc.readlines()
for line in words:
    if line.strip().lower() in inputString.lower():
        matching.append(line)

您可以使用LCS算法。

也许此链接可能有用: http : //en.wikibooks.org/wiki/Algorithm_Implementation/Strings/Longest_common_substring#Python

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM