[前台js]暴力拆词工具目前单字符语言仅支持中文

来源:互联网 发布:sql的cast函数转date 编辑:程序博客网 时间:2024/05/17 21:58

可以快速将一个字符串拆分成可能存在的所有词组

目前最多支持100000字,10000字内秒解

已知问题:中文下的!不能拆分

符js源码

function example(){//获取输入框var keyword = $("#keyword");//获取内容显示区域var contents = $("#counters");//获取输入框的值var keywordval = keyword.val();//调用拆分方法var sount=ParsingWords(keywordval);//写出值contents.html(sount);}function ParsingWords(str){//替换说有英文符号str.replace(/./g,',');str.replace(/;/g,',');str.replace(/:/g,',');str.replace(/"/g,',');str.replace(/'/g,',');str.replace(/\?/g,',');str.replace(/\(/g,',');str.replace(/\)/g,',');str.replace(/&/g,',');str.replace(/^/g,',');str.replace(/%/g,',');str.replace(/$/g,',');str.replace(/#/g,',');str.replace(/@/g,',');str.replace(/!/g,',');str.replace(/~/g,',');//替换所有中文符号str.replace(/。/g,',');str.replace(/?/g,',');str.replace(/‘/g,',');str.replace(/”/g,',');str.replace(/;/g,',');str.replace(/:/g,',');str.replace(/)/g,',');str.replace(/(/g,',');str.replace(/-/g,',');str.replace(/——/g,',');str.replace(/&/g,',');str.replace(/……/g,',');str.replace(/%/g,',');str.replace(/¥/g,',');str.replace(/#/g,',');str.replace(/@/g,',');str.replace(/!/g,',');str.replace(/~/g,',');var sount='';//判断是否为单字符语种if(/[\u4e00-\u9fa5]/.test(str)){var date = str.split(',');for(var d = 0;d<date.length;d++){//alert(date[d].length) for(var i=0 ; i<=date[d].length ;i++){for(var j=i ; j<=date[d].length ;j++){if(date[d].slice(i,j).length==0){continue;}sount+=date[d].slice(i,j)+'/';} } //contents.html(sount); //alert(sount.length);}}else{var date = str.split(',');for(var d = 0;d<date.length;d++){var fz = date[d].split(' ');//alert(fz);for(var i=0 ; i<fz.length ;i++){for(var j=i ; j<fz.length ;j++){var ls = ''for(var k=i;k<=j;k++){ls+=fz[k]+' ';}sount+=ls.trim()+'/'} }//alert(sount);}}return sount}

阅读全文
0 0