2012-05-16 31 views
2

可以說這是文件中的文本。它會刪除冒號,並將每個單詞放入它自己的數組中。例如:(C#) - 將每個單詞存儲在數組中的Split之間

exampleArray[0] = 'hello' 
exampleArray[1] = 'my' 
exampleArray[2] = 'name' 
exampleArray[3] = 'is' 
exampleArray[4] = 'lavi' 

這是我的代碼:

private void button2_Click(object sender, EventArgs e) 
    { 
     listBox1.Items.Clear(); 
     OpenFileDialog ofd = new OpenFileDialog(); 
     ofd.Filter = "Text Files|*.txt"; 
     DialogResult result = ofd.ShowDialog(); 

     if(result == DialogResult.OK) 
     { 
      StreamReader textfile = new StreamReader(ofd.FileName); 

      string s = textfile.ReadToEnd(); 

      string[] split = s.Split(':', '\n'); 

      foreach (string word in split) 
       textBox1.Text = word[0].ToString(); 
       //listBox1.Items.Add(word); 


      ofd.Dispose(); 
     } 

的感謝!

編輯:我的意思說的是我怎麼做就那麼每個單詞存儲在一個數組,所以我可以稍後訪問[0],[1],[2],等等?如果Split自動執行該操作,我如何訪問每個單詞?

+0

您可以發佈文本文件的樣本? –

+0

你想做什麼?分詞需要存儲在哪裏? – blitzen

+2

這個問題沒有意義。在你調用'Split'的時候,你實際上創建了一個字符串數組,每個數據項都在它自己的索引中。請用您預期的輸入和輸出來澄清問題。 – Tejs

回答

7

它可以自動進行(String.split,這是)

String str = "hello:my:name:is:lavi"; 
var words = str.Split(":"); 
Console.WriteLine(words[1]); //This prints out 'my'; 
for (int i=0;i<words.Length;i++) { //This will print out each word on a separate line 
    Console.WriteLine(words[i]); 
} 
+1

'System.out.println'?在C#中? –

+0

對不起,不知道發生了什麼事。我認爲這是Java而我寫了答案。 – blitzen

+0

很棒!非常感謝! – Lavi

0

在回答「我的意思是說什麼是我該如何使它所以每個字被存儲在一個數組,所以我可以訪問它後來會與[0],[1],[2]等一起使用嗎?如果Split自動執行該操作,我如何訪問每個單詞?「

VAR myWord =拆分[0 ... N]

0

只需使用這樣的:

foreach (string word in split) textBox1.Text = word.ToString(); 
+0

,用於輸出'你好',現在只需4個字! :P – Lavi

+0

foreach(分割中的字符串單詞){ listBox1.Items.Add(word); } –

相關問題