Javascript 使用js上的正则表达式更改除第n行中断之外的所有换行符

Javascript 使用js上的正则表达式更改除第n行中断之外的所有换行符,javascript,regex,Javascript,Regex,我想不出,如何将每N行的换行符改为空格 我使用此正则表达式代码将所有换行符更改为空格: this.value.replace(/\n/g, ' '); 它会全部更改,但应更改除第三个换行符以外的每个换行符,例如: 第1行 第2行 li3 li4 li5 li6 这些行应更改为: 第1行第2行第3行 li4 li5 li6 我应该使用什么正则表达式来获得这些结果?您可以将每一行捕获到单独的组中,并在第一组和第二组之后用空格替换\n: var re = /([^\n]*)\n([^\n]*

我想不出,如何将每N行的换行符改为空格

我使用此正则表达式代码将所有换行符更改为空格:

this.value.replace(/\n/g, ' ');
它会全部更改,但应更改除第三个换行符以外的每个换行符,例如:

  • 第1行
  • 第2行
  • li3
  • li4
  • li5
  • li6
这些行应更改为:

  • 第1行第2行第3行
  • li4 li5 li6

我应该使用什么正则表达式来获得这些结果?

您可以将每一行捕获到单独的组中,并在第一组和第二组之后用
空格
替换
\n

var re = /([^\n]*)\n([^\n]*)\n([^\n]*)(\n|$)/g; 
var str = 'line1\nline2\nli3\nli4\nli5\nli6';

var result = str.replace(re, '$1 $2 $3$4');

您可以使用
。替换
回调函数:

function replaceLineBreaks(text) {
   var index = 1;
   return text.replace(/\n/g, function(){  
      return index++ % 3 == 0 ? '\n' : ' ';  
   });
}

var replacedText = replaceLineBreaks(text);
演示:

var text=“line1\n\
第2行\n\
第3行\n\
第4行\n\
第5行\n\
第6行\n“;
函数替换换行符(文本){
var指数=1;
返回文本。替换(/\n/g,函数(){
返回索引+++%3==0?“
”:“”;//br用于测试目的 }); }
document.body.innerHTML=replaceLineBreaks(文本)我将创建一个行数组,然后根据您的需求对元素进行分组和连接。