我需要解析聊天机器人服务器返回的文本,看看它是否包含特定单词或2-3个单词的短语。
我将这些特定的单词或短语称为键,总共最多约20 -30个。
最有效的方法是什么?
如果我仅搜索20-30个词组,那么“ if-else”逻辑流程还可以,还是有更好的方法?
答案 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