2013-04-19 58 views
1

我想計算richtextbox中的單詞。首先,我在textbox1中輸入一個單詞(用於搜索),然後按下「count」按鈕,textbox2將顯示一個關於richtextbox中的相同單詞的數字。這裏是我的代碼,但它不起作用,textbox2總是顯示0.謝謝你的幫助。計算richtextbox中相同單詞的數量

 private void button2_Click(object sender, EventArgs e) 
    { 
    string a=richTextBox1.Text; 
    string b=textBox1.Text; 

    for (int i = 0; i < a.Length; i++) 
    { 

     int n=0; 

     if (a.Equals(b)) 
     { 

      n++; 

     } 

     textBox2.Text = n.ToString(); 

    } 

    } 

enter image description here

回答

1

您需要比較各個單詞到b,而不是整個句子。您可以使用下面的代碼作爲參考:

string[] data = richTextBox1.Text.Split(' '); 
for(int i=0;i<data.Length;i++) 
{ 
    if(data[i]==textBox1.Text) 
     n++; 
} 
+0

我想你'data [i] == textBox1.Text' – jerry

+0

謝謝,代碼改變了。 –

+0

private void button2_Click(object sender,EventArgs e) string [] a = richTextBox1.Text.Split(''); string b = textBox1.Text; (int i = 0; i

1

試試這個:

string data = richTextBox1.Text; 
var target = textBox1.Text; 
var count = data.Select((c, i) => data.Substring(i)) 
       .Count(sub => sub.ToUpper() 
       .StartsWith(target)); 

textBox2.Text = count; 
+0

謝謝你的幫助。 –

0

它更容易一點,顯示字數爲RichTextBox的是這樣的:

Dim wordcount As Integer 
Dim a As String() = RichTextBox1.Text.Split(" ") 
wordcount = a.Length 

你可以使用「wordcount」作爲字數。例如:

Label1.Text = "Word Count: " & wordcount