-5

我对自己有点生气,因为我知道这不是最难解决的事情之一,但是..

我有一个文本文件,我的程序正在从文本文件中读取分析结果然后输出它们并做一些其他事情,我正在努力的是我需要我的程序读取文本文件中的单词检查它们是否是大于 7 个字符,如果是这样,请创建一个单独的文本文件来存储结果...

我尝试了各种方法,例如 foreach 循环并尝试创建和数组来存储文本文件中的数据,但我一直卡住。

人们可以帮助我的任何建议或代码示例?

谢谢

4

4 回答 4

2
string myTextFile = File.ReadAllText("inputFile.txt");
var longWordsFile = File.CreateText("outputFile.txt");

myTextFile.Split(' ')
    .Where(s => s.Length > 7)
    .ToList()
    .ForEach(longWordsFile.WriteLine);

longWordsFile.Flush();
于 2012-11-26T14:50:23.790 回答
0
    static void Main()
    {
        foreach (string line in File.ReadAllLines("text.txt"))
        {
            string[] words = line.Split(' ');
            foreach (var word in words)
            {
                 Console.WriteLine(word.Length > 7 ? ">7": "<=7");
            }
        }
   }
于 2012-11-26T14:43:51.110 回答
0

您的问题可以分解为许多较小的问题:

  1. 从文本文件中获取所有行。
  2. 从检索到的内容中,将其拆分为单个单词。
  3. 遍历每个单词并检查长度。
  4. 将大词放入单独的集合中。

就像是:

List<string> words = FetchAllWords();
List<string> bigWords = new List<string>();

foreach (var word in words)
{
    if (word.Length > 7)
        bigWords.Add(word);
}

// Do something with bigWords.
SaveBigWords(bigWords);
于 2012-11-26T14:47:56.663 回答
0

检索长文本

string[] content = File.ReadAllLines("text.txt");
string longTexts="";
var words=content.SelectMany(line=>line.Split(' ', StringSplitOptions.RemoveEmptyEntries));
foreach(string word in words)
{
 longTexts=longTexts+",";
}

将长文本字符串写入新文本文件

System.IO.StreamWriter file = new System.IO.StreamWriter("c:\\test.txt");
file.WriteLine(longTexts);
file.Close();
于 2012-11-26T14:51:44.700 回答