这是我的字符串:
var ok = "\n\n33333333333\n\n\n";
如何用 '' 替换第 4 次出现的 '\n'?或者,如何删除第 4 次出现的 '\n'?
这是我的字符串:
var ok = "\n\n33333333333\n\n\n";
如何用 '' 替换第 4 次出现的 '\n'?或者,如何删除第 4 次出现的 '\n'?
用捕获的子匹配替换整个匹配,以及替换字符/字符串
"AA33333333333AAA".replace(/((?:[^A]*A){3}[^A]*)A/,"$1k")
(用A
andk
代替\n
and""
所以你可以更清楚地看到结果)
至少对我来说,这是一个可读性好的解决方案:
var i = 0;
ok = ok.replace(/\n/g, function () {
return ++i == 4 ? "" : "\n";
});
但是,就性能而言,它可能不会获胜。