您的位置:首页 > Web前端 > JavaScript

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

2017-06-28 12:03 495 查看
可以快速将一个字符串拆分成可能存在的所有词组

目前最多支持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
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  前端 javascript jQuery
相关文章推荐