js 用不包含关键字,最短的代码将字符串分割成,每行 x 个字符

ForkKillet
  • 1.2k

给定变量

const str = "abcdefghi", x = 3

目前用的的是长度 63 的:

str.split("").map((c, k) => (k + 1) % x ? c : c + "\n").join("")

// Output:
// abc
// def
// ghi

我不太满意。

直觉告诉我 split 加正则能做,但是想不出来。

评论
阅读 387
2 个回答

要啥split,直接一个replace就完事儿了

str.replace(RegExp(`.{${x}}`,'g'),'$&\n')

RegExp 不用加 new 效果一样,还省了3个字符哈哈

str.replace(new RegExp(`[\s\S]{${x}}`, 'g'), v => v + '\n')
撰写回答

登录后参与交流、获取后续更新提醒

宣传栏