14

I am trying to replace the second occurrence of a string in javascript. I'm using a regex to detect all the matches of the character that I'm looking for. The alert returns the same initial text.

text = 'BLABLA';
//var count = (texte.match(/B/g) || []).length;
var t=0;   
texte.replace(/B/g, function (match) {
t++;
return (t === 2) ? "Z" : match;
});
alert(text);

https://js.do/code/157264

KubiRoazhon
  • 1,627
  • 3
  • 18
  • 45

1 Answers1

26

It's because you never use the result returned by the replace function.

Here's the corrected code:

const text = 'BLABLA'
let t = 0
const result = text.replace(/B/g, match => ++t === 2 ? 'Z' : match)

console.log(result)
Yosvel Quintero Arguelles
  • 17,270
  • 4
  • 37
  • 42
ADreNaLiNe-DJ
  • 4,447
  • 3
  • 24
  • 34