在javascript中用空格替换所有<br>标记

use*_*987 4 javascript regex

遇到非常简单的问题,如何正确地用空格替换所有< br>和<br>字符串?

这是我正在尝试使用的,但我收到的是相同的字符串:

var finalStr = replaceAll(replaceAll(scope.ItemsList[i].itemDescr.substring(0, 27), "<", " "), "br>", " ");
function replaceAll(str, find, replace) {
    return str.replace(new RegExp(find, 'g'), replace);
}
Run Code Online (Sandbox Code Playgroud)

dip*_*pas 13

你可以用这个来实现:

str = str.replace(/<br\s*\/?>/gi,' ');
Run Code Online (Sandbox Code Playgroud)

这将匹配:

  • <br<br字面匹配字符(不区分大小写)
  • \s* 匹配任何空格字符 [\r\n\t\f ]
    • 量词:*在零和无限次之间,尽可能多次,根据需要回馈[贪心]
  • \/?/从字面上 匹配字符
    • 量词:?在零到一次之间,尽可能多次,根据需要回馈[贪心]
  • >>从字面上匹配字符
  • g修饰符:全局.所有比赛(首场比赛不返回)
  • i修饰符:不敏感.不区分大小写的匹配(忽略大小写[a-zA-Z])

下面是SNIPPET

var str = "This<br />phrase<br>output<BR/>will<Br/>have<BR>0 br";
str = str.replace(/<br\s*\/?>/gi, ' ');
console.log(str)
Run Code Online (Sandbox Code Playgroud)

  • @ user1935987你错了,`g`修饰符是全局的. (2认同)
  • 我更喜欢 `str.replace(/&lt;br \/&gt;/g,' ')` (2认同)