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

นับจำนวนครั้งที่สตริงย่อยปรากฏในสตริงหลัก - JavaScript

สร้างฟังก์ชันนับว่า 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

วิธีทำงาน

  1. สร้าง RegExp ด้วย flag g (global) เพื่อหาทุกครั้งที่เจอ
  2. ใช้ String.replace() พร้อม callback function นับจำนวนครั้งที่ match
  3. คืนค่าตัวนับ

ข้อควรระวัง: หาก substring มีอักขระพิเศษของ Regex (เช่น ., *, ?) ควร escape ก่อนใช้งาน