如何将字符串分成n个字符的段?
如标题所示,我有一个字符串,我想分成 字符的段。
例如:
var str = 'abcdefghijkl';
经过一些魔法之后n=3
,它将变成
var arr = ['abc','def','ghi','jkl'];
有没有办法做到这一点?
回答:
var str = 'abcdefghijkl';console.log(str.match(/.{1,3}/g));
使用{1,3}
而不是仅{3}
包括其余部分,该长度不是3的倍数,例如:
console.log("abcd".match(/.{1,3}/g)); // ["abc", "d"]
还有一些细微之处:
- 如果您的字符串可能包含换行符( 您希望将其视为一个字符而不是分割字符串 ),则
.
不会捕获这些换行符。使用/[\s\S]{1,3}/
代替。(感谢@Mike)。 - 如果您的字符串为空,则当您期望一个空数组时
match()
将返回null
。通过附加来防止这种情况|| []
。
因此,您可能最终得到:
var str = 'abcdef \t\r\nghijkl';var parts = str.match(/[\s\S]{1,3}/g) || [];
console.log(parts);
console.log(''.match(/[\s\S]{1,3}/g) || []);
以上是 如何将字符串分成n个字符的段? 的全部内容, 来源链接: utcz.com/qa/397850.html