正则表达式 - 在javascript中用单个替换多个换行符

mrz*_*myr 20 javascript regex replace

这是javascript中的某种变量内容:

    <meta charset="utf-8">

    <title>Some Meep meta, awesome</title>




    <-- some comment here -->
    <meta name="someMeta, yay" content="meep">

</head>
Run Code Online (Sandbox Code Playgroud)

我希望将多行换行符(未知数)减少到单个换行符,同时仍保留其余格式.这应该javascript用a 来完成regex.

我有制表机的问题或保持格式.

pok*_*oke 60

试试这个:

text.replace(/\n\s*\n/g, '\n');
Run Code Online (Sandbox Code Playgroud)

这基本上寻找两个换行符,其间只有空格.然后它通过单个换行符取代它们.由于全局标志g,每次可能的匹配都会重复此操作.

编辑:

是否可以留下双线而不是单线

当然,最简单的方法是只查找三个换行符并将它们替换为两个换行符:

text.replace(/\n\s*\n\s*\n/g, '\n\n');
Run Code Online (Sandbox Code Playgroud)

如果你想在其中一行上保留空白(无论出于何种原因),你也可以这样做:

text.replace(/(\n\s*?\n)\s*\n/, '$1');
Run Code Online (Sandbox Code Playgroud)


mVC*_*Chr 11

myText = myText.replace(/\n{2,}/g, '\n');???????
Run Code Online (Sandbox Code Playgroud)

见演示