Javascript 使用js上的正则表达式更改除第n行中断之外的所有换行符
我想不出,如何将每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]*
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(文本)代码>我将创建一个行数组,然后根据您的需求对元素进行分组和连接。