.replace () не заменяет все символы (Javascript) [дубликат]

Nov 22 2020

Я пытался заменить все подчеркивания апострофом. Он работает с первым подчеркиванием, но никогда со вторым. Я попытался выяснить это, но не смог. Если у вас есть решение, пожалуйста, помогите мне.

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>

Вывод:

quick'brown_fox

Требуемый результат:

быстрая коричневая лиса

Ответы

ksav Nov 22 2020 at 08:47

Попробуйте добавить флаг глобального поиска в свое регулярное выражение, чтобы сопоставить все вхождения _

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>