javascript - 从字符串中删除不需要的单词数组
问题描述
我有一组要从术语列表中删除的“垃圾词”。
目标是找到招聘广告中出现频率最高的术语。我想找到实际的文本,并去掉“function”、“and”、“or”、“a”等词。
这将被合并到一个书签中。
我拥有的脚本删除了其中一些,但不是全部!
我已经尝试了 StackOverflow 上的所有建议链接,到目前为止,所有链接都不够用——我可能遗漏了一些东西,但我没有想法。
javascript:var page=window.location.href;
var counts={};
var text=document.body.textContent||document.body.innerText||'';
var garbageString = ["of", "the", "in", "on", "at", "to", "a", "is", "and", "function", "open", "drop", "be"];
var text = text.split(" ");
for(var i=0; i < garbageString.length; i++){
for(var j=0; j < text.length; j++){
if(text[j].toLowerCase() === garbageString[i]){
text.splice(j, 1);
}
}
}
text = text.join(" ");
var words=text.split(/\b/).filter(function(word){return word.match(/^\w+$/)!==null});
words.forEach(function(word){counts['_'+word.toLowerCase()]=(counts['_'+word]||0)+1});
var sorted=Object.keys(counts).sort(function(a,b){return counts[b]-counts[a]});
var message=sorted[0]===undefined?'No words found!':'<center><b>For the page: <i><font color=\"#0000FF\" size=\"-2\">'+page+'<\/i><\/font><br\/>The Top 20 words are:<\/center><\/b><br>';
sorted.forEach(function(word,index){
if(index>19||word===undefined)return;message+='\n#'+(index+1)+': '+word.substring(1)+' ('+counts[word]+' occurrences)<br>'});
w=window.open('','Word Mode','scrollbars,resizable,width=250,height=500');
w.document.write(message);
当我在这样的 URL 上测试小书签时:
我想查看与招聘广告和技能相关的术语列表;不是这个:
- 至(51 次出现)
- 和(43 次出现)
- 函数(29 次出现)
- a (28 次出现)
- 打开(出现 28 次)
- 下降(28 次)
- (20 次)
- 是(19 次出现)
- var(出现 14 次)
- 是(14 次出现)
解决方案
使用过滤器。
var text=document.body.textContent||document.body.innerText||'';
var garbageString = ["of", "the", "in", "on", "at", "to", "a", "is", "and", "function", "open", "drop", "be"];
var words = text.split(" ");
var filteredWords = words.filter(function(word) {
return garbageString.indexOf(word.toLowerCase()) === -1;
}).sort();
推荐阅读
- vectorization - 八度向量化 2 for 循环
- python - ValueError - 使用 keras 在卷积自动编码器的输入中处理奇数时间步长
- python - 为 GRPC 流式处理端点翻转 Python 生成器
- class - 使用定义的输入过程从 Fortran 中的二进制文件中读取错误值
- php - 错误:如何使用循环将值插入 mysql?
- php - 像素艺术缩放 - 调整多维二进制数组(矩阵)的大小以根据填充值收缩/扩展
- android - Picasso 在 RecyclerView 中加载图像非常缓慢
- javascript - 在图像区域创建链接
- python - 用一系列替换 Pandas 数据框中的空值
- json - 将 JSON 字符串发送到 ASP.NET Core MVC 控制器