.replace () nie zastępuje wszystkich znaków (JavaScript) [duplikat]

Nov 22 2020

Próbowałem zastąpić wszystkie podkreślenia apostrofem. Działa z pierwszym podkreśleniem, ale nigdy z drugim. Próbowałem to rozgryźć, ale nie udało mi się. Jeśli masz rozwiązanie, pomóż mi.

function strReplace() {
  var myStr = 'quick_brown_fox';
  myStr = myStr.replace(/_/, "’");

  // Insert modified string in paragraph
  document.getElementById("myText").innerHTML = myStr;
}
<p id="myText">quick_brown_fox</p>
<button type="button" onclick="strReplace();">Replace</button>

Wynik:

quick'brown_fox

Poszukiwany wynik:

quick'brown'fox

Odpowiedzi

ksav Nov 22 2020 at 08:47

Spróbuj dodać globalną flagę wyszukiwania do swojego wyrażenia regularnego, aby dopasować wszystkie wystąpienia _

function strReplace() {
  var myStr = 'quick_brown_fox';
  myStr = myStr.replace(/_/g, "’");

  // Insert modified string in paragraph
  document.getElementById("myText").innerHTML = myStr;
}
<p id="myText">quick_brown_fox</p>
<button type="button" onclick="strReplace();">Replace</button>