Bagaimana untuk mendapatkan rentetan antara pendakap kerinting menggunakan ungkapan biasa JavaScript?

PHPz
Lepaskan: 2023-08-23 08:41:07
ke hadapan
1662 orang telah melayarinya

Bagaimana untuk mendapatkan rentetan antara pendakap kerinting menggunakan ungkapan biasa JavaScript?

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.

Gunakan kaedah exec() dengan ungkapan biasa untuk mendapatkan rentetan 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.

Tatabahasa

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]);
}
Salin selepas log masuk

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 bagi

Contoh

ialah:

Contoh

Pembolehubah '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>
Salin selepas log masuk

Gunakan kaedah padanan() dengan ungkapan biasa untuk mendapatkan rentetan antara kurungan kerinting

Kaedah

match() juga mengembalikan semua kejadian padanan dalam rentetan dalam format tatasusunan.

Tatabahasa

Pengguna boleh menggunakan kaedah padanan() dan ungkapan biasa mengikut sintaks berikut untuk mendapatkan rentetan antara pendakap kerinting

let results = originalStr.match(/{([^}]+)}/g); 
Salin selepas log masuk

Dalam sintaks di atas, originalStr ialah rentetan dengan pendakap kerinting dan kami menghantar ungkapan biasa sebagai parameter kaedah padanan().

Terjemahan bahasa Cina bagi

Contoh

ialah:

Contoh

Dalam 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>
Salin selepas log masuk

Gunakan gelung for untuk mendapatkan rentetan antara kurungan kerinting

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().

Tatabahasa

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);
   }
}   
Salin selepas log masuk

Dalam sintaks di atas, kami menjejaki indeks permulaan dan penamat kurung kurawal dan mengekstrak rentetan menggunakan kaedah subrentetan().

Langkah

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 bagi

Contoh

ialah:

Contoh

Dalam 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> 
Salin selepas log masuk

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!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan