这与=>略有不同How can I chunk a string in JavaScript respecting words?
我必须在不使用正则表达式的情况下执行此操作,因为正则表达式减慢了我的node.js应用程序。感谢是否有人会在没有正则表达式的情况下使用javascript回答。
我正在建立一个电子书阅读器并且有一个类似的文字;
“Lorem ipsum dolor sit amet,consectetur adipiscing elit.Cysellus ac risus pellentesque tellus pretium blandit vitae acodiodi.Interdum et malesuada fames ac ante ipsum primis in faucibus.Curabitur quis dignissim neque,ut aliquam arcu”
如何创建具有指定字数(例如4)的数组,如;
textDiv = ['Lorem ipsum dolor sit','amet consectetur adipiscing elit。','Phasellusac risus pellentesque tellus'...]
实际上我打算将数组提供给turn.js
答案 0 :(得分:0)
将String.match()
与RegExp一起使用可获得每个4个字的字符串(regex101):
var text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus ac risus pellentesque tellus pretium blandit vitae ac odio. Interdum et malesuada fames ac ante ipsum primis in faucibus. Curabitur quis dignissim neque, ut aliquam arcu";
var result = text.match(/(?:\S+\s*?){4}/g);
console.log(result);
答案 1 :(得分:-1)
将文本拆分为数组:
const words = text.split(" ");
然后接受四人小组直到它为空:
const result = [];
while(words.length)
result.push(words.splice(0, 4).join(" "));