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)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章