.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

ผลลัพธ์ที่ต้องการ:

quick'brown'fox

คำตอบ

ksav Nov 22 2020 at 08:47

ลองเพิ่มค่าสถานะการค้นหาส่วนกลางลงใน regex ของคุณเพื่อให้ตรงกับเหตุการณ์ทั้งหมดของ _

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>