สร้างฟังก์ชันนับว่า substring ปรากฏกี่ครั้งใน string หลัก โดยใช้ Regular Expression แบบ global flag
ตัวอย่างโค้ด
const main = 'This is the is main is string';
const sub = 'is';
const countAppearances = (main, sub) => {
const regex = new RegExp(sub, 'g');
let count = 0;
main.replace(regex, () => {
count++;
});
return count;
};
console.log(countAppearances(main, sub));
ผลลัพธ์
4
วิธีทำงาน
- สร้าง RegExp ด้วย flag
g(global) เพื่อหาทุกครั้งที่เจอ - ใช้
String.replace()พร้อม callback function นับจำนวนครั้งที่ match - คืนค่าตัวนับ
ข้อควรระวัง: หาก substring มีอักขระพิเศษของ Regex (เช่น ., *, ?) ควร escape ก่อนใช้งาน