我有一个巨大的文本文件的字符串缓冲区。我必须在字符串缓冲区中搜索给定的单词/短语。什么是有效的方法?
我尝试使用 re 模块匹配。但是因为我有一个巨大的文本语料库,我必须搜索。这需要大量时间。
给定一个单词和短语字典。
我遍历每个文件,将其读入 string ,搜索字典中的所有单词和短语,如果找到键,则增加字典中的计数。
我们认为的一个小优化是将具有最大单词数的短语/单词字典排序到最低。然后从字符串缓冲区比较每个单词的起始位置并比较单词列表。如果找到一个短语,我们不会搜索其他短语(因为它匹配最长的短语,这就是我们想要的)
有人可以建议如何在字符串缓冲区中逐字进行。(逐字迭代字符串缓冲区)?
另外,还有其他可以做的优化吗?
data = str(file_content)
for j in dictionary_entity.keys():
cnt = data.count(j+" ")
if cnt != -1:
dictionary_entity[j] = dictionary_entity[j] + cnt
f.close()