JavaScript中要忽略的单词列表?

JavaScript中要忽略的单词列表?,javascript,jquery,regex,jquery-plugins,datatables,Javascript,Jquery,Regex,Jquery Plugins,Datatables,我有一个使用jQuery插件Datatables从粘贴到textarea的任何文本生成的表。我想忽略数字以及大量常用词,如“and,or,for,the,but,etc”。我该怎么做 以下是我当前的JavaScript: <script> $( document ).ready( function() { $('form').submit(function(event){ event.preventDe

我有一个使用jQuery插件Datatables从粘贴到textarea的任何文本生成的表。我想忽略数字以及大量常用词,如“and,or,for,the,but,etc”。我该怎么做

以下是我当前的JavaScript:

<script>
        $( document ).ready( function() {

            $('form').submit(function(event){
                    event.preventDefault();
                    var
                            keyword_list = $('#searchtext').val().split(" "),
                            word_list = $('#searchtext').val().split(" "),
                            nwords = word_list.length;
                            $('#result').html(nwords + " Total Words in Article");
                    keyword_dict = {};
                    for (var i = 0, w; w = keyword_list[i]; i++) {
                            var w = w.replace(/\W/g,'');
                            keyword_dict[w] = 0;
                    }
                    for (var i = 0, w; w = word_list[i]; i++) {
                            var w = w.replace(/\W/g,'');
                            for(var keyword in keyword_dict){
                                    if (keyword == w){
                                            keyword_dict[w] += 1;
                                    }
                            }
                    }

                    items = '<thead><th>unique keywords</th><th>occurance</th><th>percent of text</th></thead>';
                    for (keyword in keyword_dict){
                            var occ = keyword_dict[keyword]*100/nwords;
                            var c=''
                            items += '<tr class="'+c+'"><td>'+keyword+'</td><td>'+keyword_dict[keyword]+'</td><td>'+occ.toPrecision(2)+'</td></tr>';
                        }
                    console.log(keyword_dict);
                    $('#result').append('<table>'+items+'<table>');
                    $('#result table').dataTable();
            });
     });
</script>

$(文档).ready(函数(){
$('form')。提交(函数(事件){
event.preventDefault();
变量
关键字_list=$('#searchtext').val().split(“”),
word#u list=$('#searchtext').val().split(“”),
nwords=单词列表长度;
$(“#result”).html(nwords+“文章中的总字数”);
关键词_dict={};
for(变量i=0,w;w=关键字列表[i];i++){
变量w=w.替换(/\w/g,”);
关键词_dict[w]=0;
}
for(var i=0,w;w=word_list[i];i++){
变量w=w.替换(/\w/g,”);
for(关键字_dict中的var关键字){
如果(关键字==w){
关键词_dict[w]+=1;
}
}
}
items='唯一关键字准确度文本百分比';
for(关键字中的关键字){
var occ=关键字[keyword]*100/nwords;
变量c=''
项目+=''+关键字+''+关键字[关键字]+''+货币监理处精度(2)+'';
}
控制台日志(关键字_dict);
$(“#结果”)。追加(“”+项+“”);
$(“#结果表”).dataTable();
});
});
以下是HTML:

<form>
    <label>Article:</label><br>
    <textarea rows="25" cols="100" id="searchtext"></textarea><br>
    <input class="btn btn-success" id="go" type="submit" value="Submit"></input>
</form>

<div id="result">
</div>

文章:


jQueryinaray函数返回项目的索引,如果不是fount,则返回-1:

var commonWords = ['and','or','the'];
if($.inArray( keyword.toLowerCase(), commonWords)==-1){  
     // it's not one of common words
}
else{
     // it is one of common words
}

编辑:我添加了一个小写字母,表示您希望忽略单词的大小写敏感度。

jQueryinArray函数返回项目的索引,如果不是fount,则返回-1:

var commonWords = ['and','or','the'];
if($.inArray( keyword.toLowerCase(), commonWords)==-1){  
     // it's not one of common words
}
else{
     // it is one of common words
}

编辑:我添加了一个小写字母,表示您希望忽略单词的大小写敏感度。

这里有一个函数可以做到这一点:

函数清理文本(文本){
//在此处添加更多以|分隔的单词
var commonWords=/和|或|表示|但是|等|/g;
//删除常用词
text=text.replace(常用词“”);
//删除号码
text=text.replace(/\d/g');
//删除连续的空白
text=text.replace(/\s{2,}/g',);
返回文本;
}
测试:

var text='javascript 123 5656 787878 for the but and or function 56 the to and or remove 56 90009090 not 2121 needed or and content ';

console.log(cleanUpText(text));
产出:

javascript函数删除不需要的内容


这里有一个函数可以实现这一点:

函数清理文本(文本){
//在此处添加更多以|分隔的单词
var commonWords=/和|或|表示|但是|等|/g;
//删除常用词
text=text.replace(常用词“”);
//删除号码
text=text.replace(/\d/g');
//删除连续的空白
text=text.replace(/\s{2,}/g',);
返回文本;
}
测试:

var text='javascript 123 5656 787878 for the but and or function 56 the to and or remove 56 90009090 not 2121 needed or and content ';

console.log(cleanUpText(text));
产出:

javascript函数删除不需要的内容


嗨@davidkonrad我试着把它添加到我的脚本中,但它似乎不起作用。我应该把它放在哪里?我应该对它做什么具体的修改?我尝试用关键字和结果替换单词“text”,但两者都不起作用。只需将上述函数放在
部分,并在每次需要清理
输出时调用该函数即可。您的代码对我来说不是很清楚,但猜测是
var text=cleanUpText($('#searchtext').val())
作为
提交
-事件的第一行,但实际上无法判断。我只是技术性地回答了这个问题。嗨@davidkonrad,我试着把它添加到我的脚本中,但它似乎不起作用。我应该把它放在哪里?我应该对它做什么具体的修改?我尝试用关键字和结果替换单词“text”,但两者都不起作用。只需将上述函数放在
部分,并在每次需要清理
输出时调用该函数即可。您的代码对我来说不是很清楚,但猜测是
var text=cleanUpText($('#searchtext').val())
作为
提交
-事件的第一行,但实际上无法判断。我只是技术性地回答了这个问题。