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

给定变量

const str = "abcdefghi", x = 3

目前用的的是长度 63 的:

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

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

我不太满意。

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

阅读 2k
2 个回答

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

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

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

str.replace(new RegExp(`[\s\S]{${x}}`, 'g'), v => v + '\n')
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题