簡體   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