.replace ()가 모든 문자를 대체하지 않음 (자바 스크립트) [중복]

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

원하는 출력 :

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>