解析返回的文本以获取特定的一组单词或短语

时间:2019-05-11 14:45:06

标签: c# parsing

我需要解析聊天机器人服务器返回的文本,看看它是否包含特定单词或2-3个单词的短语。

我将这些特定的单词或短语称为键,总共最多约20 -30个。

最有效的方法是什么?

如果我仅搜索20-30个词组,那么“ if-else”逻辑流程还可以,还是有更好的方法?

1 个答案:

答案 0 :(得分:0)

使用LINQ-将要检查的所有单词放入List<string>中,然后从聊天机器人中获取文本,以及list.Any(x=>chatBotString.IndexOf(x) > -1)-假定您ToLower()和{{1} },一切正常。

假设您的聊天机器人字符串Trim()s,而您的术语列表"the red fox jumped over the brown dog under the fence, I don't actually know what the sentence is"

L

您这样做

"red fox"
"brown dog"
"under the fence"
"actually know"

如果您获得L.Any(x=>s.Trim().ToLower().IndexOf(x.Trim().ToLower())>-1) -那么您发现了至少1个字符串。

示例程序:

true