ใช้เมธอด String.prototype.replace() ร่วมกับ Regular Expression เพื่อแทนที่สตริงใน JavaScript
ไวยากรณ์
str.replace(regexp|substr, newSubstr|function)
ตัวอย่าง
<html>
<head>
<script>
var str = "Welcome to Tutorialspoint";
document.write(str);
// แทนที่ tutorialspoint (ไม่สนใจตัวพิมพ์เล็ก/ใหญ่) ด้วย Qries
var res = str.replace(/tutorialspoint/i, "Qries");
document.write("<br>" + res);
</script>
</head>
</body>
</html>
ผลลัพธ์
Welcome to Tutorialspoint Welcome to Qries
รายละเอียด Regular Expression Flags
| Flag | ความหมาย |
|---|---|
g | Global - แทนที่ทุกครั้งที่เจอ (ไม่ใช่แค่ครั้งแรก) |
i | Case-insensitive - ไม่สนใจตัวพิมพ์เล็ก/ใหญ่ |
m | Multiline - ^ และ $ ทำงานกับแต่ละบรรทัด |
ตัวอย่างเพิ่มเติม
var str = "apple, Apple, APPLE";
// แทนที่ครั้งแรกเท่านั้น
str.replace(/apple/, "orange"); // "orange, Apple, APPLE"
// แทนที่ทั้งหมด (global flag)
str.replace(/apple/gi, "orange"); // "orange, orange, orange"
// ใช้ฟังก์ชันเป็น replacement
str.replace(/apple/gi, match => match.toUpperCase()); // "APPLE, APPLE, APPLE"
// ใช้กลุ่ม (capture groups)
"2023-12-25".replace(/(\d{4})-(\d{2})-(\d{2})/, "$3/$2/$1"); // "25/12/2023"
หมายเหตุ: replace() ไม่เปลี่ยนสตริงต้นฉบับ (strings are immutable) จะคืนสตริงใหม่