用字符串+ Javascript中的单行替换多行

时间:2016-01-04 17:36:24

标签: javascript regex

我试图用javascript中的字符串中的单行替换所有多行,但没有一个正常工作。以下是我的代码:

var str=inputList.replace(/\n/gm,"\n");

输入,例如

abc,def <3 newlines>


xyz <1 newline>
opp

预期产出:

abc,def <1 newline>
xyz
opp

实际输出:

abc,def<3 newlines>


xyz<1 newline>
opp

感谢任何帮助。

3 个答案:

答案 0 :(得分:1)

(编辑:感谢stribizhev的简化版)

如果您尝试将两个或更多\n替换为一个,请尝试以下操作:

var str = inputList.replace(/\n{2,}/gm,"\n");

{2,}表示2个或更多

答案 1 :(得分:0)

您正在使用代码中的\n替换\n

取而代之的是:

var str = inputList.replace(/\n/gm, "");

答案 2 :(得分:0)

您只匹配一个并将其替换为一个。我相信如果您只是在<script> <% Player player = (Player) request.getAttribute("player"); %> alert(<%=player.getTempId()%>); </script> 之后添加+以匹配一个或多个。如果您不想仅匹配一个使用\n来匹配两个或更多。

{2,}

var str=inputList.replace(/\n+/g,"\n");
                             ^