在 js 上使用正则表达式更改除第 n 个换行符之外的每个换行符
Change every line break except nth line break with regex on js
我搞不通,如何将每n个换行符更改为空格。
我有这个正则表达式代码将所有换行符更改为空格:
this.value.replace(/'n/g, ' ');
它改变了所有内容,但它应该改变除第 3 个换行符之外的每个换行符,例如:
- 第 1 行
- 第 2 行
- Li3
- 李4
- 李5
- 李6
这些行应更改为:
- 1号线
- 2号线 Li3
- Li4 Li5 Li6
我应该使用什么正则表达式来获得这些结果?
您可以将每一行捕获到单独的组中,并在第 1 组和第 2 组之后用space
替换'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');
正则表达式演示
您可以使用.replace
回调函数:
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'
line2'n'
line3'n'
line4'n'
line5'n'
line6'n";
function replaceLineBreaks(text) {
var index = 1;
return text.replace(/'n/g, function() {
return index++ % 3 == 0 ? '<br>' : ' '; //br for testing purposes
});
}
document.body.innerHTML = replaceLineBreaks(text);
相关文章:
- 如何在映射数组中添加换行符
- JQuery:向多个匹配结果添加换行符的最简单方法
- 在文本区域中使用jQuery.text()保持换行符
- 处理字段中带有换行符的csv文件-node.js
- 比较JS中的换行符返回false
- JSON 字符串中的换行符不会出现在 JS 对象中
- 如何使用绘图文本在巴比伦 JS 动态纹理中插入换行符
- 在 js 上使用正则表达式更改除第 n 个换行符之外的每个换行符
- 如何在节点.js中附加换行符
- 如何在不丢失换行符和空格的情况下将js字符串变量传递给php
- 如何使用JS、HTML添加换行符和函数
- JS比较字符串和换行符
- 如果出现换行符,则通过js加载Rails text_area won't
- 使用Node.js将换行符从JS转换为HTML
- 用JS保存文件,但使用换行符
- js最好的方式绑定HTML字符串在文本区与换行符
- Angular.js textarea字符计数,排除空格和换行符计数
- Js和xregexp试图在组匹配中包含额外的换行符
- 为什么我的JS不工作时设置为'onLoad'但当设置为'无换行符'时有效
- 在js中,我如何将add (不是换行符)替换为文本区域中每行末尾的字符串