1

「怒り」、「気遣い」などの辞書のリストを保存する辞書フォルダーがあります。私の怒りの辞書には、むっつり、いらいらする、激怒するという 3 つの単語があります。単語カウント プログラムを実行すると、すべての単語を正確に検出できないようです。より具体的に言うと、私の単語数辞書は、不機嫌でイライラしたことが 1 回発生したことを検出しますが、激怒したことはありません。

この問題は私の正規表現が原因ですか?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;

namespace empTRUST
{
    class FBWordCount
    {
        public Dictionary<string, int> countWordsInStatus(string status, string[] dictArray)
        {
            var words = new Dictionary<string, int>(StringComparer.CurrentCultureIgnoreCase); // local word dictionary is created here
            foreach (var dictEntry in dictArray)
            {
                var wordPattern = new Regex(@"\w+");
                string smallDictEntry = dictEntry.ToLower();
                foreach (Match match in wordPattern.Matches(status))
                {
                    if (match.ToString() == smallDictEntry)
                    {
                        int currentCount = 0;
                        words.TryGetValue(match.Value, out currentCount);

                        currentCount++;
                        words[match.Value] = currentCount;  // local word dictionary adds new word count
                    }
                }
            }
            return words;   // returns local word dictionary to receiving end
        }
    }
}
4

1 に答える 1