我已经设置了一种从实时聊天客户端检索消息的方法。我想收集这些消息(很多文本),并找出这些消息是否包含关键短语。如果它们包含关键短语,我只需将1添加到计数变量中。
目前我这样做("好","是"和"很好"是关键短语)
for (var i = 0; i < data.msgs.length; i++)
{
str = data.msgs[i].msg.toLowerCase();
if (str.search("good") != -1 || str.search("yes") != -1 || str.search("nice") != -1)
{
count = count + 1;
}
}
这种方法有效,但它不是很漂亮。我计划添加大约100个不同的关键短语,很容易看出这会变得愚蠢。此外,添加新的关键短语既烦人又麻烦。
我想知道是否有更好的方法来创建某种关键短语数据库,我可以从中搜索匹配项。优选地,允许容易地添加和删除短语。
感谢。
答案 0 :(得分:0)
var keys = ['good', 'yes', 'nice'];
for (var i = 0; i < data.msgs.length; i++)
{
str = data.msgs[i].msg.toLowerCase();
for(var j=0; j < keys.length; j++){
if(str.indexOf(keys[j]) !== -1){
count++;
//could also return here if you want to break the function after a find
}
}
}
您还可以加载&#34;键&#34;从JSON文件中解析它。