Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

วิธีแทนที่ทุก occurrence ของสตริงใน JavaScript

เพื่อแทนที่ทุก occurrence ของสตริงใน JavaScript ใช้เมธอด replace() พร้อม regular expression ที่มี flag g (global)

<html> 
  <body> 
    <script> 
      var str1 = 'John loves studying. He loves Football too!'; 
      var str2 = str1.replace(/loves/g, "likes"); 
      document.write(str2); 
    </script> 
  </body> 
</html>

คำอธิบาย

  • /loves/g — regex pattern พร้อม flag g (global) หมายถึงค้นหาและแทนที่ ทุกครั้งที่เจอ
  • ถ้าไม่ใส่ flag g จะแทนที่ เฉพาะครั้งแรก ที่เจอเท่านั้น

วิธีอื่น (ES2021+)

// replaceAll() - ใหม่กว่า ใช้สตริงตรงๆ ไม่ต้อง regex
const str = 'John loves studying. He loves Football too!';
const result = str.replaceAll('loves', 'likes');
// "John likes studying. He likes Football too!"

replaceAll() รองรับในเบราว์เซอร์สมัยใหม่ทั้งหมด (Chrome 85+, Firefox 77+, Safari 13.1+, Edge 85+)