计算richtextbox中相同单词的数量

时间:2013-04-19 02:30:15

标签: c# user-interface richtextbox

我想计算richtextbox中的单词。首先,我在textbox1中输入一个单词(用于搜索),然后按“count”按钮,textbox2将显示一个有关richtextbox中相同单词数量的数字。这是我的代码,但它不起作用,textbox2总是显示0.谢谢你的帮助。

      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

3 个答案:

答案 0 :(得分:1)

您需要将单个单词与b进行比较,而不是整个句子。您可以使用以下代码作为参考:

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

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

答案 2 :(得分:0)

显示富文本框的字数更容易,如下所示:

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

您可以将'wordcount'用于单词计数。例如:

Label1.Text = "Word Count: " & wordcount