1

我想计算富文本框中的单词。首先,我在 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();

     }

  }

在此处输入图像描述

4

3 回答 3

1

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

string[] data = richTextBox1.Text.Split(' ');
for(int i=0;i<data.Length;i++)
{
   if(data[i]==textBox1.Text)
      n++;
}
于 2013-04-19T02:35:17.173 回答
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;
于 2013-04-19T03:12:54.647 回答
0

像这样显示richtextbox的字数会更容易一些:

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

您可以使用“wordcount”来计算字数。例如:

Label1.Text = "Word Count: " & wordcount
于 2013-10-04T08:18:12.440 回答