2012-11-26 48 views
-4

我得到我自己有點苦惱,因爲我知道,這是不是最難的事情工作了,但一個大於7個字符..檢查一個單詞,然後輸出的長度,如果長度是在C#

我有一個文本文件,我的程序正在從文本文件中讀取分析結果,然後輸出它們並做一些其他的事情,我正在努力的是我需要我的程序來讀取文本文件中的單詞檢查看看他們是否大於7個字符,如果是創建存儲結果的單獨的文本文件...

我已經嘗試了各種東西,如foreach循環,並努力創造和數組從文本存儲數據文件和我k eep卡住了。

任何建議或示例代碼的人可以幫助我?

謝謝

+4

向我們展示你到目前爲止的代碼,所以我們可以幫助您 – middelpat

+0

目前我的代碼的輪廓,我認爲可以用來解決這個問題: 的foreach(在readTextFile字符字) { if(word =='') wordCount ++; } 我以爲我可以用這個但當我試圖我跑進一個死衚衕:/ – BradBeighton

+3

你不能要求我們的解決方案,你的代碼。但是如果你向我們展示你的代碼,我們可以指導你獲得你想要的結果並幫助你解決錯誤。 – middelpat

回答

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"); 
      } 
     } 
    } 
+0

哎呦 - 固定它:) – HuseyinUslu

+1

這樣不是代碼只輸出> 7或<= 7,而不是實際的話? – BradBeighton

+0

是的,你可以根據你的需要改變線。 – HuseyinUslu

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

我打算出去,說'FetchAllWords()'是他遇到麻煩的地方。 –

+0

@JonB:問題標題另有說明。 – sergserg

+0

這就是這樣的模糊問題的問題。說出他想要的東西幾乎是不可能的。然而,很難想象有人在'string'上使用'Length'屬性時遇到問題。從文件中讀取單個單詞是一個更大的挑戰。 –

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