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

    <meta charset="utf-8">

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




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

</head>

我想将多个换行符(未知数)减少到一个换行符,而其余的格式仍保持不变。这应该在javascriptregex中完成。

我在制表符或保留格式方面有问题。

最佳答案

试试这个:

text.replace(/\n\s*\n/g, '\n');

这基本上是寻找两个换行符,中间只有空格。然后用一个换行符代替它们。由于全局标志g,对于每个可能的匹配都将重复此操作。

编辑:



当然,最简单的方法是只查找三个换行符,然后将其替换为两个:
text.replace(/\n\s*\n\s*\n/g, '\n\n');

如果您想保留其中一行的空白(无论出于何种原因),也可以这样:
text.replace(/(\n\s*?\n)\s*\n/, '$1');

08-25 18:32