「怒り」、「気遣い」などの辞書のリストを保存する辞書フォルダーがあります。私の怒りの辞書には、むっつり、いらいらする、激怒するという 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
}
}
}