Replace multiiplas words with a

Asked

Viewed 57 times

-1

I would like to replace multiple words with a single for example:

This is what I tried, here only the first occurrence is changed

var replaceGN = "Gênesis"
var str = "Este é o livro de GEN, Gn é o primeiro livro da bíblia, leia Gen.";
var matchesGN = str.match( /GN|GEN|GEN\./g );
r = str.replace(/[matchesGN]/g, replaceGN)
alert(r);

given an index

1-GE
1-GEN
1-GEN.
1-GÊN
1-GENESIS
1-GÊNESIS
1-GÉNESIS
1-GN
1-GN.
2-OUTRO
2-OUT
2-OUT.
2-OU.

given value of each index

1=Gênesis
2=Outro

String

"This is the book of Genesis, Genesis is the first book of the Bible This is Out. book, O. interesting book"

Expected result

"This is the book of Genesis, Genesis is the first book of the Bible This is Another book, Another interesting book"

  • @Augustovasques put what I had been trying unsuccessfully.

  • 2

    "Este é o livro de GEN, Gn é o primeiro livro da bíblia, leia Gen.".replace(/\b(GN|GEN)\b/ig, "Gênesis")

  • Wow, very simple and efficient, Thanks @Valdeirpsr

1 answer

2


Just adapt

var NovoValor = "Gênesis";
var Texto = "Este é o livro de GEN, Gn é o primeiro livro da bíblia, leia Gen.";
var ListaPalavras = ["GEN", "GN", "Gen", "Gn"];

for(index in ListaPalavras) {
   Texto = Texto.replace(ListaPalavras[index], NovoValor);
}

alert(Texto);
  • Perfect @Allan, Thank you so much!

Browser other questions tagged

You are not signed in. Login or sign up in order to post.