C#:输入txt文件

时间:2018-01-16 09:54:52

标签: c# arrays file-io

我正在构建一个输入txt文件的应用程序,作为输出,它会生成一个包含所有单词的txt文件,并计算每个单词重复的次数。我已经处理了计算单词,但我在阅读文件时遇到了问题。更准确地说,当我编写测试txt文件时,当我使用Enter进入下一行时,它在app中运行良好。我会发布代码和结果以使事情变得清晰。

    string text = File.ReadAllText(@"C:\\Users\\derka\\Documents\test.txt");

        string[] array = text.Split(' ', ',', '.', ':', '\t');

,输出

你好,2 世界,2 世界 咕咕,1 cooo,1

预期的结果是看世界,3。我也试过使用Regex,但我似乎无法弄清楚如何使用我用于正则表达式的foreach循环填充数组。建议?以下是我用于测试的文件的内容

  

你好世界世界你好世界

     

coo cooo

2 个答案:

答案 0 :(得分:1)

问题是,您忽略 Split 调用中的换行符。 因此,您应该将 \ r \ n 添加到您的通话中。

string[] array = text.Split(' ', ',', '.', ':', '\t', '\n', '\r');

这将返回数组中的空字符串,因为如果换行符类似于默认的c#one Environment.NewLine,它代表字符串"\r\n"。 但是您可以在array的以下处理中忽略空字符串。

答案 1 :(得分:0)

拆分前删除新行

text = text.Replace(Environment.NewLine, " ");