javascript根据固定长度分词

Javascript 根据固定长度分词[简单分词]

效果

待分字符:这是一个要进行分词的字符串呀。

//2个单词分词
var res= ["这是", "是一", "一个", "个要", "要进", "进行", "行分", "分词", "词的", "的字", "字符", "符串", "串呀", "呀。", "。", ""]
//3个单词分词
var res=["这是一", "是一个", "一个要", "个要进", "要进行", "进行分", "行分词", "分词的", "词的字", "的字符", "字符串", "符串呀", "串呀。", "呀。", "。"]
//4个单词分词
var res=["这是一个", "是一个要", "一个要进", "个要进行", "要进行分", "进行分词", "行分词的", "分词的字", "词的字符", "的字符串", "字符串呀", "符串呀。", "串呀。", "呀。", "。", ""]
//5个单词分词
var res= ["这是一个要", "是一个要进", "一个要进行", "个要进行分", "要进行分词", "进行分词的", "行分词的字", "分词的字符", "词的字符串", "的字符串呀", "字符串呀。", "符串呀。", "串呀。", "呀。", "。"]

存在问题:在最后分不尽的字符会出现小于固定长度的字符

代码

const getMsgFiled = function(msg, len) {
	var str = [];
	if (msg.length < 2) {
		return [msg];
	}
	var fn = function(len, msg) {
		var str = [];
		for (var i = len; i < msg.length + len; i += len) {
			for (var j = 0; j < len; j++) {
				console.log(len, i, j, j + len, j, j, j + len);
				str[str.length] = i + j > msg.length ? msg.substring(i + j - len) : msg.substring(i + j - len, i + j);
			}
		}
		return str;
	}
	return fn(len, msg);
}

用法

getMsgFiled('这是一个要进行分词的字符串呀。',2)
getMsgFiled('这是一个要进行分词的字符串呀。',3)
getMsgFiled('这是一个要进行分词的字符串呀。',4)
getMsgFiled('这是一个要进行分词的字符串呀。',5)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值