【问题标题】:Simple Way of Looking for Key Phrases in Jquery?在 Jquery 中查找关键短语的简单方法?
【发布时间】:2015-06-03 04:13:02
【问题描述】:

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

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

谢谢。

【问题讨论】:

    标签: jquery key match phrases


    【解决方案1】:
    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 文件加载“密钥”并对其进行解析。

    【讨论】:

    • 这几乎可以工作。当我使用 str.search("good") 时,它会在整个消息中搜索文本“good”。所以如果消息是“我很好”,它会返回“真”(这里的真意味着不是负面的)。以您的方式,仅当整个消息是短语时才返回 true。所以只有“好”才会返回真。
    • 抱歉不小心发的早了
    猜你喜欢
    • 1970-01-01
    • 2012-06-15
    • 1970-01-01
    • 2013-11-29
    • 1970-01-01
    • 2011-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多