如何从大文本文件中一次删除大量短语?

时间:2011-11-10 09:19:57

标签: python string text

我很想知道 - 在某种程度上我可以从一个大的(18 GB)文本文件中删除大量(100个)文本短语吗?

4 个答案:

答案 0 :(得分:0)

Rabin-Karp适用于多个子字符串搜索,但我认为您的短语必须具有相同的长度。

如果长度相似,您可以搜索长度的子短语(所有短语的最小长度),然后在找到某些内容时进行扩展。

我想到的另一个想法就是你可以扩展它以使用一小组说 q 子词长度,根据你的搜索短语。你可以修改Rabin-Karp以使 q 滚动哈希而不是一个,使用 q 哈希集合。如果您可以在具有相似长度的 q 子集中对短语进行分区,这将有所帮助。

答案 1 :(得分:0)

您可以从短语列表中构建suffix tree并使用它来浏览文件。它将允许您识别所有字符串。这通常用于标记内容,但您应该能够调整它以删除字符串。

答案 2 :(得分:0)

我将在这里出去,并建议你使用AWK,因为it is very fast用于此类任务。

答案 3 :(得分:0)

这些短语是否相同?就像你要删除的那个词一样?那么也许您可以使用'in'关键字将其删除。使用while循环检查每一行并从该行中删除该单词的所有实例。但是需要更多关于这个问题的信息。