检查单词的长度,然后在C#中长度大于7个字符时输出

时间:2012-11-26 14:37:34

标签: c#

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

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

我尝试了各种各样的事情,例如foreach循环,并尝试创建和数组来存储文本文件中的数据,但我一直陷入困境。

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

谢谢

4 个答案:

答案 0 :(得分: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();

答案 1 :(得分: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");
            }
        }
   }

答案 2 :(得分:0)

你的问题可以分成许多小问题:

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

  5. 类似的东西:

    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);
    

答案 3 :(得分: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();