キーワードの文字列をチェックしようとしています。単語が存在する場合は、辞書から値を取得します。問題は、キーワードが複数語句の場合に発生します。
だから私は辞書を持っています:
Dictionary<string, string> d = new Dictionary<string, string>(StringComparer.InvariantCultureIgnoreCase);
d.Add("keyword1", "D2");
d.Add("keyword2", "D3");
d.Add("keyword3", "D4");
d.Add("keyword4", "D4");
d.Add("keyword5", "D5");
d.Add("key word six", "D6");
そして、次のような文字列がありますが、ランダムな文になります。
string errormessage = "This is an error regarding Key Word Six";
現在、次を使用してエラーメッセージをチェックし、辞書に単語が表示されるかどうかを確認しています。
string code = null;
string theDcode = null;
foreach (string word in errormessage.Split(' '))
{
if (d.TryGetValue(word, out theDcode))
{
code = theDcode;
}
}
問題は、文字列「Key Word Six」を検索できないことです。これは、文字列を単語ごとに読み取っていて、foreach ループが各単語を個別に認識しているためです。これは、単一の単語のキーワードに最適です。複数単語のキーワードのチェックを処理するにはどうすればよいですか?