0

我已经设置了一种从实时聊天客户端检索消息的方法。我想获取这些消息(大量文本)并找出这些消息中是否包含关键短语。如果它们包含关键短语,我将简单地将 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 个不同的关键短语,很容易看出这会变得很愚蠢。此外,添加新的关键短语既烦人又麻烦。

我想知道是否有更好的方法来制作某种关键字数据库,我可以从中搜索匹配项。最好是允许轻松添加和删除短语的一种。

谢谢。

4

1 回答 1

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
          }
    }
}

您还可以从 JSON 文件加载“密钥”并对其进行解析。

于 2015-06-03T04:21:13.210 回答