重塑字符串,每 N 个字符插入“\n”

Pla*_*lus 5 javascript regex string

使用 JavaScript 函数,我尝试在用户提供的每 N 个字符的字符串上插入一条断线。

像这样:function("blabla", 3) would output "bla\nbla\n".

我搜索了很多答案,最终得到了一个正则表达式来做到这一点,唯一的问题是,我需要用户对此问题的输入,所以我需要在这个正则表达式上添加一个变量。

这是代码:

function reshapeString(string, num) {
    var regex = new RegExp("/(.{" + num + "})/g");
    return string.replace(regex,"$1\n");
}

reshapeString("blablabla", 3);
Run Code Online (Sandbox Code Playgroud)

目前这不起作用。我试图转义“/”字符,但我在某些时候搞砸了,而且我不知道在哪里。

我缺少什么?还有其他方法可以解决重塑该字符串的问题吗?

Nin*_*olz 4

您需要一个用于 regexp 构造函数的字符串,不带/,并且您可以通过使用$&找到的字符串来省略该组。

function reshapeString(string, num) {
    var regex = new RegExp(".{" + num + "}", "g");
    return string.replace(regex,"$&\n");
}

console.log(reshapeString("blablabla", 3));
Run Code Online (Sandbox Code Playgroud)