Kita boleh mencipta ungkapan biasa supaya ia dapat mencari semua subrentetan antara pendakap kerinting. Selepas itu, kita boleh menggunakan kaedah exec() atau match() untuk mengekstrak subrentetan yang sepadan.
Dalam tutorial ini, kita akan belajar menggunakan ungkapan biasa JavaScript untuk mendapatkan rentetan antara pendakap kerinting. Contohnya, jika kita mempunyai rentetan seperti 'Ini ialah {rentetan} dengan pendakap {curly}, kita perlu mengeluarkan semua subrentetan yang berada di antara pendakap kerinting.
Kaedah exec() biasanya digunakan dengan ungkapan biasa untuk mencari subrentetan yang sepadan. Ia mengembalikan semua hasil yang sepadan dalam format tatasusunan, atau batal jika tiada padanan ditemui.
Pengguna boleh mengikut sintaks di bawah untuk menggunakan kaedah exec() dengan ungkapan biasa untuk mendapatkan semua subrentetan di antara pendakap kerinting
var regex = /{([^}]+)}/g; while (match = regex.exec(originalStr)) { results.push(match[1]); }
Dalam sintaks di atas, kami mencipta ungkapan biasa untuk mencari subrentetan antara kurungan kerinting. Kami kemudian mengulangi tatasusunan padanan dan mendapatkan semua kejadian padanan.
Terjemahan bahasa Cina bagiPembolehubah 'originalStr' mengandungi rentetan dengan pendakap kerinting dalam contoh di bawah. Kaedah regex.exec() mengembalikan tatasusunan dua dimensi semua subrentetan yang sepadan. Setiap elemen tatasusunan ialah tatasusunan yang mengandungi dua rentetan. Elemen pertama ialah rentetan dengan pendakap kerinting dan elemen kedua ialah rentetan tanpa pendakap kerinting yang ingin kita ekstrak.
Dalam output, pengguna boleh melihat bahawa ia menunjukkan subrentetan "Pembangun" dan "JavaScript" kerana kedua-duanya berada di antara pendakap kerinting.
<html> <body> <h3>Using the <i> regular expression and exec() method </i> to get string between curly braces in JavaScript</h3> <div id = "demo"> </div> <script> let output = document.getElementById("demo"); function getStringBetweenBraces() { var originalStr = "Hello {Developers}! Let's develop {JavaScript} code!"; var found = []; var regex = /{([^}]+)}/g; var results = []; let match; while (match = regex.exec(originalStr)) { results.push(match[1]); } output.innerHTML = "The original string is " + originalStr + "<br>"; output.innerHTML += "The substrings between curly braces are " + results + "<br>"; } getStringBetweenBraces(); </script> </body> </html>
match() juga mengembalikan semua kejadian padanan dalam rentetan dalam format tatasusunan.
Pengguna boleh menggunakan kaedah padanan() dan ungkapan biasa mengikut sintaks berikut untuk mendapatkan rentetan antara pendakap kerinting
let results = originalStr.match(/{([^}]+)}/g);
Dalam sintaks di atas, originalStr ialah rentetan dengan pendakap kerinting dan kami menghantar ungkapan biasa sebagai parameter kaedah padanan().
Terjemahan bahasa Cina bagiDalam contoh di bawah, kaedah match() mengembalikan tatasusunan rentetan dengan pendakap kerinting. Walau bagaimanapun, ia tidak mengembalikan rentetan selepas menanggalkan pendakap kerinting. Pengguna boleh menggunakan kaedah subStr() atau substring() untuk mengalih keluar pendakap kerinting daripada hasil yang dikembalikan.
<html> <body> <h3>Using the <i> regular expression and match() method </i> to get string between curly braces in JavaScript</h3> <div id = "demo"> </div> <script> let output = document.getElementById("demo"); function getStringBetweenBraces() { var originalStr = "This is {sample} string! This is {original} string!"; let results = originalStr.match(/{([^}]+)}/g); output.innerHTML = "The original string is " + originalStr + "<br>"; output.innerHTML += "The substrings between curly braces are " + results + "<br>"; } getStringBetweenBraces(); </script> </body> </html>
Kami juga boleh mengekstrak semua subrentetan antara pendakap kerinting dengan mengulangi rentetan menggunakan gelung for. Kita boleh menjejaki indeks permulaan dan penamat pendakap kerinting. Kami kemudiannya boleh mengekstrak subrentetan daripada rentetan asal menggunakan kaedah substring().
Pengguna boleh menggunakan gelung mengikut sintaks berikut untuk mengekstrak subrentetan antara pendakap kerinting.
for ( ) { if (str[i] == "{") start = i; if (str[i] == "}") { end = i; let bracesString = str.substring(start + 1, end); } }
Dalam sintaks di atas, kami menjejaki indeks permulaan dan penamat kurung kurawal dan mengekstrak rentetan menggunakan kaedah subrentetan().
Langkah 1 - Gunakan gelung for untuk melintasi rentetan.
Langkah 2 - Jika aksara dengan indeks 'I' dalam rentetan adalah sama dengan '{', simpan nilai indeks dalam pembolehubah mula.
Langkah 3 - Jika aksara dengan indeks 'I' dalam rentetan adalah sama dengan '}', simpan nilai indeks dalam pembolehubah akhir.
Langkah 3.1 − Gunakan kaedah subrentetan() untuk mendapatkan subrentetan antara indeks 'mula + 1' selepas indeks 'akhir'.
Langkah 3.2 - Tolak subrentetan yang terhasil ke dalam tatasusunan.
Terjemahan bahasa Cina bagiDalam contoh di bawah, kami mengikuti langkah di atas untuk mengeluarkan rentetan antara pendakap kerinting menggunakan gelung for. Walau bagaimanapun, kaedah ini tidak berfungsi untuk mengekstrak rentetan antara pendakap kerinting bersarang.
<html> <body> <h3>Using the <i> for loop </i> to get string between curly braces in JavaScript</h3> <div id = "demo"> </div> <script> let output = document.getElementById("demo"); function getStringBetweenBraces() { var str = "Hello {Users}! Welcome to {Website}!"; var start = 0; var end = 0; let results = []; for (var i = 0; i < str.length; i++) { if (str[i] == "{") { start = i; } if (str[i] == "}") { end = i; let bracesString = str.substring(start + 1, end); results.push(bracesString); } } output.innerHTML = "The original string is " + str + "<br>"; output.innerHTML += "The substrings between curly braces are " + results + "<br>"; } getStringBetweenBraces(); </script> </body> </html>
Dalam tutorial ini, kami belajar cara mengekstrak rentetan antara pendakap kerinting menggunakan ungkapan biasa. Dalam kaedah pertama, kami menggunakan kaedah exec() dengan ungkapan biasa dalam kaedah kedua, kami menggunakan kaedah padanan() dengan ungkapan biasa.
Dalam kaedah ketiga, kami menggunakan gelung for dan bukannya ungkapan biasa.
Atas ialah kandungan terperinci Bagaimana untuk mendapatkan rentetan antara pendakap kerinting menggunakan ungkapan biasa JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!