我有一份术语(单词)列表,大约有50万个,它们被加载到某种数据结构中,比如字典或 Trie。
在我的程序中,我想打开每个文本文档并查找这些术语的出现。当我找到一个时,我想停止并转换文本文件中的字符串(将其替换为转换后的字符串),然后继续搜索。完成文件后,我将新修改的文件写入磁盘。
我的问题如下:
- 什么是用于此目的的最佳数据结构-树类型结构还是.NET字典?
- 如何搜索文本?我是否将其分解为单词,并将每个块与我拥有的列表进行比较,或者使用 RegEx 或 .NET 方法(如 Contains())等其他方法?
我只是想寻求一些建议,因为当我处理非常大量的文本文件时,速度将非常重要。
编辑: 是的,转换对于每个字符串都是相同的-基于算法-因此每个字符串看起来都不同。 (例如对单词使用密码使其不可读)。无论如何,我只是想让有人指导我正确的方向,我不熟悉那里的许多算法和数据结构。