【发布时间】:2012-03-02 20:20:17
【问题描述】:
我有一个大文本文件 (data),其布局如下:a|b|c|d|e|f(尽管b 中可以有管道)。我使用以下代码搜索文本文件:
results = 0
Data_List = []
searchphrase = input("Search: ")
with open('data', 'r', encoding="utf8") as inF:
for line in inF:
if searchphrase in line:
a, *b, c, d, e, f = line.strip().split('|')
b = '|'.join(b)
results += 1
print("\n\n", results, "\n", "A: " + a + "\n", "B: " + b + "\n", "C: " + c + "\n", "D: " + d + "\n", "E: " + e + "\n", "F: " + f + "\n\n")
Data_List.append(f)
b 是一段文本,其中包含用户在上面的代码中真正搜索的标题(例如:The Lion King)。但是,搜索非常具体,只返回准确的结果(换句话说,如果我搜索了The Lion King,则不会返回the lion king)。我怎样才能使搜索不那么具体而更笼统(想想 Google 搜索)?
【问题讨论】:
-
使用正则表达式。就大小写而言,使用正则表达式标志
re.IGNORECASE。 -
你的意思是模糊搜索?
-
模糊搜索可能更像我的意思。正则表达式似乎仍然过于具体,因为我正在处理用户生成的数据和由不同用户生成的搜索词。
标签: python search text python-3.x