如何将多个字符串出现更改为一个?

时间:2016-09-12 12:46:37

标签: javascript string

我有一个从后端收到的字符串,如下所示:

Hello wolrd <br> <br> <br> I am <br><br> Uksz <br>.

现在,<br>的数量永远不会保持不变 - 可以有一个,或者最多为5.我如何只用一个{{1}更改彼此相邻的所有<br> }?所以上面的例子是:

<br>

3 个答案:

答案 0 :(得分:8)

您可以使用此解决方案:

&#13;
&#13;
var test = "Hello wolrd <br><br> <br> <br> <br> <br><br> I am <br><br> Uksz <br><br> <br><br> <br> <br> <br><br> <br> <br> <br><br><br>.";
var re = /(\<br\>)(\s*(\<br\>))+/gi;
var result = test.replace(re, "<br>");
console.log(result);
&#13;
&#13;
&#13;

答案 1 :(得分:2)

尝试此解决方案: -

var string = "Hello world <br> <br> <br> I am <br><br> Uksz <br>.";
var result = string.replace(/(\<br\>\s*)+(\<br\>)/g, '$2'); // your result string will return Hello world <br> I am <br>  Uksz <br>.
console.log(result); 

此正则表达式仅删除br标记之间的空格。

答案 2 :(得分:-1)

这应该有效:

&#13;
&#13;
var yourString = "Hello wolrd <br>   <br> <br> I am <br><br> Uksz <br>.";
var pattern = /(<br>((\s)*(<br>))*)/gi;
console.log(yourString.replace(pattern, "<br>")); // returns "Hello wolrd <br> I am <br> Uksz <br>."
&#13;
&#13;
&#13;

注意:这会保留空格(<br>之前和之后)。