【发布时间】:2021-06-15 02:26:20
【问题描述】:
请帮我解决这个问题。 我有一个巨大的 input.txt。现在是 465 Mb,但以后至少会是 1Gb。
用户输入一个词(不是整个词)。使用该术语,我需要找到一个包含它的单词,将其放在<strong> 标记之间并将内容保存到 output.txt。术语搜索应该不区分大小写。
这是我目前所拥有的。它适用于小文本,但不适用于较大的文本。
Regex regex = new Regex(" ");
string text = File.ReadAllText("input.txt");
Console.WriteLine("Please, enter a term to search for");
string term = Console.ReadLine();
string[] w = regex.Split(text);
for (int i = 0; i < w.Length; i++)
{
if (Processor.Contains(w[i], term, StringComparison.OrdinalIgnoreCase))
{
w[i] = @"<strong>" + w[i] + @"</string>";
}
}
string result = null;
result = string.Join(" ", w);
File.WriteAllText("output.txt", result);
【问题讨论】:
-
它适用于小文本,但不适用于大文本。 什么意思?会崩溃吗??不要让我们猜测!!! “不起作用”是没有帮助的问题描述!
-
大文件到底有什么问题?
textvariable 的大小? -
如果这是一个真正的应用程序,那将是熟悉数据库的最佳时机;-)
-
OutOfMemoryException with function File.ReadAllText();