12

Having trouble with very simple thing, How to properly replace all < br> and <br> in the string with the empty space?

This is what I'm trying to use, but I'm receiving the same string.:

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);
}
dippas
  • 58,591
  • 15
  • 114
  • 126
user1935987
  • 3,136
  • 9
  • 56
  • 108

1 Answers1

31

You can achieve that using this:

str = str.replace(/<br\s*\/?>/gi,' ');

This will match:

  • <br matches the characters <br literally (case insensitive)
  • \s* match any white space character [\r\n\t\f ]
  • Quantifier: * Between zero and unlimited times, as many times as possible, giving back as needed [greedy]
  • \/? matches the character / literally
  • Quantifier: ? Between zero and one time, as many times as possible, giving back as needed [greedy]
  • > matches the characters > literally
  • g modifier: global. All matches (don't return on first match)
  • i modifier: insensitive. Case insensitive match (ignores case of [a-zA-Z])

SNIPPET BELOW

let str = "This<br />sentence<br>output<BR/>will<Br/>have<BR>0 br";
str = str.replace(/<br\s*\/?>/gi, ' ');
console.log(str)
dippas
  • 58,591
  • 15
  • 114
  • 126