Perbezaan antara kaedah penghirisan rentetan dan subrentetan

PHPz
Lepaskan: 2023-09-03 18:21:11
ke hadapan
875 orang telah melayarinya

Perbezaan antara kaedah penghirisan rentetan dan subrentetan

JavaScript ialah bahasa pengaturcaraan dinamik dan paling popular yang boleh digunakan pada kedua-dua bahagian klien dan pelayan. JavaScript digunakan untuk membuat halaman web interaktif. Ia mempunyai banyak rangka kerja, seperti React JS, Angular JS, Node JS, dll.

JavaScript mengandungi banyak fungsi terbina dalam untuk melaksanakan pelbagai tugas. Terdapat fungsi untuk memanipulasi rentetan. Str.slice dan str.substring ialah dua fungsi inbuit yang boleh beroperasi pada rentetan. Walaupun fungsi kedua-dua fungsi ini hampir serupa, terdapat beberapa perbezaan antara keduanya

Kaedah String.slice()

Kaedah ini mengembalikan sebahagian daripada rentetan berdasarkan indeks yang ditentukan. Sintaks kaedah slice adalah seperti berikut -

string.slice (start, end)
Salin selepas log masuk

Kaedah ini mempunyai dua parameter, mula dan tamat. Mula menentukan indeks dari mana ia harus bermula, dan indeks akhir memberitahu indeks terakhir rentetan untuk dikembalikan. Indeks pengakhiran tidak disertakan semasa mengembalikan rentetan. Pengakhiran tidak perlu. Jika penghujung tidak ditentukan, mengembalikan keseluruhan rentetan bermula pada indeks permulaan yang ditentukan. Di sini, indeks bermula dari "0".

String.substring() kaedah

Kaedah ini juga serupa dengan kaedah menghiris, mengembalikan sebahagian daripada rentetan sebagai rentetan baharu. Sintaks kaedah ini adalah seperti berikut -

string.substring (start, end)
Salin selepas log masuk

Di sini, mula dan tamat ialah dua parameter, menunjukkan indeks rentetan yang perlu dikembalikan. Jika indeks akhir tidak ditentukan, keseluruhan rentetan bermula pada indeks permulaan yang ditentukan dikembalikan. Indeks pengakhiran tidak disertakan semasa mengembalikan rentetan. Indeks bermula dari "0".

Pertimbangkan rentetan "Selamat Pagi" dengan panjang tali 12. Marilah kita memahami fungsi kaedah ini melalui contoh berikut -

const greeting = 'Good Morning'
Salin selepas log masuk

Kes 1

Jika indeks permulaan adalah positif, kedua-dua kaedah memberikan output yang sama.

greeting.slice (5)  		//  'Morning'
greeting.substring (5)  	// 'Morning'
Salin selepas log masuk

Di sini, indeks diambil sebagai 5, jadi rentetan bermula dari kedudukan ke-5 rentetan utama dikembalikan.

Kes 2

Jika indeks yang diberikan adalah negatif, kedua-dua kaedah ini akan memberikan output yang berbeza seperti yang ditunjukkan di bawah.

greeting.slice (-7)  // 'Morning'
greeting.substring (-7)  // 'Good Morning'
Salin selepas log masuk

Dalam kaedah slice, apabila indeks negatif diberikan, ia dikira dari hujung rentetan dan mengembalikan rentetan bermula dari kedudukan indeks tersebut. Dalam subrentetan, sebarang nombor negatif dianggap sebagai sifar. Jadi ia bermula pada indeks 0 dan mengembalikan keseluruhan rentetan.

Kes 3

Kedua-dua kaedah mengembalikan rentetan kosong apabila melepasi panjang rentetan.

greeting.slice (12)  // ''
greeting.substring (12)  // ''
Salin selepas log masuk

Kes 4

Indeks permulaan lebih besar daripada indeks akhir

greeting.slice (9, 5)  // ''
greeting.substring (9, 5)  // 'Morn'
Salin selepas log masuk

Kaedah slice mengembalikan rentetan kosong manakala kaedah subrentetan menukar indeks ini dan mengembalikan rentetan. Indeks penamat tidak disertakan.

Kes 5

Apabila kedua-dua indeks permulaan dan akhir adalah negatif

greeting.slice (-12, -8)  // 'Good'
greeting.substring (-12, -8)  // ''
Salin selepas log masuk

Kaedah potong mengira dari hujung rentetan ke indeks yang ditentukan dan mengembalikannya. Oleh kerana kedua-dua indeks adalah negatif dan kaedah subrentetan menganggapnya sebagai sifar, ia bermula pada sifar dan berakhir pada sifar. Oleh itu, rentetan kosong dikembalikan.

Kes 6

Apabila indeks permulaan negatif dan indeks akhir positif

greeting.slice (-3, 5)  // ''
greeting.substring (-3, 5)  // 'Good'
Salin selepas log masuk

Di sini, memandangkan indeks akhir muncul sebelum indeks permulaan, kaedah hirisan mengembalikan rentetan kosong. Tetapi kaedah subrentetan menganggap indeks negatif sebagai sifar dan bermula dari indeks 0 hingga indeks ke-5 tidak termasuk indeks tersebut. Oleh itu, ia mengembalikan "Baik".

Kes 7

Apabila indeks permulaan positif tetapi indeks akhir negatif

greeting.slice (5, -3)  // 'Morn'
greeting.substring (5, -3)  // 'Good'
Salin selepas log masuk

Kaedah slice mengembalikan "Morn" sebagai output dan kaedah Substring mengembalikan "Good". Kaedah Subrentetan menganggap indeks akhir sebagai sifar, dan memandangkan indeks permulaan (5) lebih besar daripada indeks akhir (0), ia hanya menukar kedudukannya (0,5) dan mengembalikan rentetan.

Kaedah menghiris dan substring

Jadual di bawah menyerlahkan perbezaan penting antara kaedah hirisan dan kaedah subrentetan -

Kaedah menghiris

Kaedah sub rentetan

Ia mengembalikan sebahagian daripada rentetan

Juga digunakan untuk mengeluarkan sebahagian daripada rentetan

Ia membenarkan pengindeksan negatif dan mengembalikan kiraan rentetan dari belakang

Jika indeks negatif diberikan, ia dianggap sebagai kedudukan indeks 0 (sifar).

Jika indeks permulaan lebih besar daripada indeks penamat, kembalikan rentetan kosong

Jika indeks mula lebih besar daripada indeks akhir, ia hanya menukar kedudukan mereka dan mengembalikan rentetan berdasarkan hasil tersebut

Kesimpulan

Kaedah string.slice dan string.substring digunakan untuk operasi rentetan. Bergantung pada parameter dan situasi tertentu, semuanya adalah serupa. Perbezaan utama pertama antara mereka ialah indeks mereka adalah negatif, seperti yang ditunjukkan dalam contoh di atas. Yang kedua ialah apabila indeks permulaan lebih besar daripada indeks akhir.

Atas ialah kandungan terperinci Perbezaan antara kaedah penghirisan rentetan dan subrentetan. 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