2

ここの初心者で検索を試みましたが、よくわからなかったので、フォーラムに助けを求めることを考えています。

次のコードから結果をテキスト ボックスに取得したいのですが、エラーが発生しました。それを克服する方法について混乱しています。textboxt.Text に入れるための linqIgroup から文字列への変換のエラーだったと思います

テキスト ファイルに出現した単語の最大数を表示しようとしています。

string sentence;
        string[] result = {""};
        sentence = txtParagraph.Text;
        char[] delimiters = new char[] { ' ', '.', '?', '!' };

        string[] splitStr = sentence.Split(delimiters, StringSplitOptions.RemoveEmptyEntries);
        var dic = splitStr.ToLookup(w => w.ToLowerInvariant());
        var orderedDic = dic.OrderByDescending(g => g.Count(m=>m.First()).ToString()));

        txtFreqWord.Text = orderedDic.ToString();
4

1 に答える 1

2

あなたが求めていることをするために、次のことを試してください。私も正規表現を使っています。

            var resultsList = System.Text.RegularExpressions.Regex.Split("normal text here normal normal".ToLower(), @"\W+") 
        .Where(s => s.Length > 3)
        .GroupBy(s => s)
        .OrderByDescending(g => g.Count());

        string mostFrequent = resultsList.FirstOrDefault().Key;

それらすべてをカウントとともに取得するには、次の手順を実行します。

            foreach (結果リストの変数 x) {
                 txtFreqWord.Text = txtFreqWord.Text + x.Key + " " + x.Count() +", ";
            }
于 2013-06-12T23:50:09.147 に答える