.replace()がすべての文字を置き換えない(Javascript)[重複]

Nov 22 2020

私はすべてのアンダースコアをアポストロフィに置き換えようとしています。最初のアンダースコアでは機能しますが、2番目のアンダースコアでは機能しません。私はそれを理解しようとしましたが、できませんでした。あなたが解決策を持っているなら、私を助けてください。

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>

出力:

クイック '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>