簡體   English   中英

我如何計算一個富文本框中的單詞

[英]How can i count the words from a richtextbox

我想制作一個程序,該程序可以將RichTextbox中的單詞“ Me”作為示例。 這在c#中怎么可能。 我已經擁有的代碼是它加載了一個文本文件。

private void button1_Click(object sender, EventArgs e)
{
    Stream myStream;
    OpenFileDialog openFileDialog1 = new OpenFileDialog();

    if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
    {
        if ((myStream = openFileDialog1.OpenFile()) != null)
        {
            string strfilename = openFileDialog1.FileName;
            string filetext = File.ReadAllText(strfilename);
            richTextBox1.Text = filetext;
            textBox1.Text = openFileDialog1.FileName;
            richTextBox1.LoadFile(@"C:\Users\Administrator\Documents\School\C#\DEEL 2\HW5\5.3 opdracht1\Sonnet 14.txt", RichTextBoxStreamType.PlainText);
        }
    }
}

private void button2_Click(object sender, EventArgs e)
{

}

如果要使用LINQ,則可以輕松完成。 只需在空白處分割文本,然后過濾數組以查找與所需單詞匹配的單詞。 這是一個示例:

string search = "Me";
int count = richTextBox1.Text.Split(' ').Where(word => word == search).Count();

將所有單詞分開,然后您可以做任何您想做的事情

//Variable to store your count
int n = 0;
string stringToCompare = "Me";
string[] data = richTextBox1.Text.Split(' ');
for(int i=0;i<data.Length;i++)
{
  if(data[i]==stringToCompare )
     n++;
}
Console.WriteLine($"Word {stringToCompare } has appeared {n} times");

如果您不希望區分大小寫,請嘗試類似

if(data[i].ToUpper() == stringToCompare.ToUpper() )
      n++;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM