0

这是我的字符串:

var ok = "\n\n33333333333\n\n\n";

如何用 '' 替换第 4 次出现的 '\n'?或者,如何删除第 4 次出现的 '\n'?

4

2 回答 2

1
  • 查找 n-1 次出现和其他字符。
  • 捕获子匹配。
  • 找到下一个事件。
  • 用捕获的子匹配替换整个匹配,以及替换字符/字符串

    "AA33333333333AAA".replace(/((?:[^A]*A){3}[^A]*)A/,"$1k")

(用Aandk代替\nand""所以你可以更清楚地看到结果)

于 2013-04-20T14:31:34.297 回答
0

至少对我来说,这是一个可读性好的解决方案:

var i = 0;
ok = ok.replace(/\n/g, function () {
  return ++i == 4 ? "" : "\n";
});

但是,就性能而言,它可能不会获胜。

于 2013-07-25T08:28:25.150 回答