JavaScript 关键字检查器

标签 javascript jquery keyword

我有一个脚本,可以根据关键字数组检查大量文本,然后返回计数。我现在需要它能够过滤掉可能已经包含另一个关键字的关键字。例如:

apples are delicious, especially red apples.

当前计数如下所示:

apples - 2 (counts "apples" twice)
red apples - 1

我想要的是让关键字独立,如下所示:

apples - 1
red apples - 1

我检查关键字的基本脚本:

content = ed.getContent().toLowerCase();
var words = ["apples", "red apples"];       
var count = [];                         

for (var i = 0, len = words.length; i < len; i++) {
    if (text.indexOf(words[i].toLowerCase()) > -1){
        var regex = new RegExp(words[i], "g");
        count[i] = (content.match(regex) || []).length;
        console.log(words[i] + " " + count[i]);
    }
}

我被困住了!任何朝着正确方向的帮助或插入总是非常感激!

最佳答案

有很多方法可以做到这一点。我觉得最简单的就是对文字进行排序,对内容进行 trim 。

https://jsfiddle.net/a0h7xbfu/8/

var content = "red apples apples";
var words = ["apples", "red apples"];
var count = [];

words.sort(function(a, b) {
  var lenA = a.length;
  var lenB = b.length;
  if (lenA === lenB) {
    return 0;
  }
  return (lenA > lenB) ? -1 : 1;
});

words.forEach(function(word) {
  var regex = new RegExp(word, "g");
  var match = content.match(regex);
  if (match) {
    console.log(word + ": " + match.length);
    content = content.replace(regex, '');
  }
});

关于JavaScript 关键字检查器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48857896/

相关文章:

javascript - 导航到 : JavaScript 时在幻灯片中重新设置动画

python - 在 python 3.5.1 中混合关键字和默认参数

在 Solr/Lucene 中记录搜索关键字

c++ - 考虑到其他好处,关键字 'auto' 真的有助于简化 C++ 中的调试吗?

javascript - 如何使用 jQuery 通过 src 属性选择 iframe?

javascript - 自定义 $compile 指令仅有时适用于同一范围

javascript - knockout 嵌套绑定(bind)

javascript - 使用javascript提取字符串的特定部分

javascript - 为什么在没有发出双击时进入 dblclick 处理程序?

javascript - 根据设备的大小激活图像 slider