【问题标题】:Count the number of the same words in richtextbox计算richtextbox中相同单词的数量
【发布时间】:2018-01-16 20:52:47
【问题描述】:

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

     }

  }

【问题讨论】:

    标签: c# user-interface richtextbox


    【解决方案1】:

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

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

    【讨论】:

    • 我想你data[i] == textBox1.Text
    • private void button2_Click(object sender, EventArgs e) { string[] a=richTextBox1.Text.Split(' ');字符串 b=textBox1.Text; for (int i = 0; i
    • 你在for循环中定义并输出n到textBox2。当然n总是0。
    【解决方案2】:

    试试这个:

    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;
    

    【讨论】:

      【解决方案3】:

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

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

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

      Label1.Text = "Word Count: " & wordcount
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-26
        相关资源
        最近更新 更多