将字符串拆分为n个段并忽略换行符?

时间:2020-04-29 09:33:46

标签: javascript

我想将字符串每3个字符分成一个段,这是我的代码段示例

let a = "abcdef"; //length 6
let b = `a
b
c
d
e
f`; // length 11 including line break

console.log(a.match(/.{1,3}/g));
console.log(b.match(/.{1,3}/g));

来自var a的结果很好,但是当我在var b之类的每个字符中添加换行符是错误的时,为什么要在var b上拆分每个字符?我希望结果是这样的:

[
    `a{line_break}b`,
    `{line_break}c{line_break}`,
    `d{line_break}e`,
    `{line_break}f`
]

1 个答案:

答案 0 :(得分:5)

.默认不与换行符匹配。为此,请使用s标志:

let b = `a
b
c
d
e
f`; // length 11 including line break

console.log(b.match(/.{1,3}/gs));

如果您的环境不支持[\s\S],请匹配/s

let b = `a
b
c
d
e
f`; // length 11 including line break

console.log(b.match(/[\s\S]{1,3}/g));