Rumah >hujung hadapan web >tutorial js >Bagaimana Mengira Kejadian Substring dalam JavaScript Menggunakan Ungkapan Biasa?

Bagaimana Mengira Kejadian Substring dalam JavaScript Menggunakan Ungkapan Biasa?

Barbara Streisand
Barbara Streisandasal
2024-12-07 09:51:17339semak imbas

How to Count Substring Occurrences in JavaScript Using Regular Expressions?

Mengira Kejadian Rentetan dalam Rentetan

Mencari kekerapan subrentetan dalam rentetan yang lebih besar ialah tugas biasa dalam pengaturcaraan. Dalam JavaScript, anda boleh menggunakan ungkapan biasa untuk mencapai ini dengan berkesan.

Pertimbangkan contoh berikut di mana kita ingin mengira kejadian subrentetan "adalah" dalam rentetan "Ini ialah rentetan.":

Contoh:

var temp = "This is a string.";
var count = (temp.match(/is/g) || []).length;
console.log(count); // Output: 2

Penjelasan:

  1. Ungkapan Biasa ( Regex): Ungkapan biasa yang kami gunakan ialah "/is/g". Bahagian "is" mewakili subrentetan yang ingin kita cari dan bendera "g" menunjukkan carian global.
  2. Kaedah.match(): Kaedah .match() digunakan kepada rentetan "temp". Kaedah ini mengembalikan tatasusunan padanan untuk ungkapan biasa yang disediakan. Walau bagaimanapun, bendera "g" memastikan ia menemui semua kejadian, bukan hanya yang pertama.
  3. Mengendalikan Keputusan Kosong: Jika subrentetan tidak ditemui, kaedah .match() mengembalikan null . Untuk mengendalikan kes ini, hasilnya dibalut dalam pernyataan bersyarat yang menukar null kepada tatasusunan kosong.
  4. Panjang Tatasusunan: Kemudian, kami memperoleh panjang tatasusunan yang mengandungi padanan. Panjang ini mewakili kiraan kejadian untuk subrentetan yang ditentukan.

Hasilnya, kod tersebut mencetak kiraan kejadian "adalah" dalam rentetan yang diberikan, iaitu 2.

Atas ialah kandungan terperinci Bagaimana Mengira Kejadian Substring dalam JavaScript Menggunakan Ungkapan Biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn