Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Apakah kaedah untuk memintas rentetan dalam javascript?
Cara memintas rentetan dengan JavaScript: 1. Gunakan kaedah substr() untuk memintas subrentetan mengikut panjang yang ditentukan 2. Gunakan kaedah slice() untuk memintas rentetan mengikut permulaan dan akhir yang ditentukan kedudukan subskrip ;3 Gunakan kaedah subrentetan() untuk memintas rentetan mengikut kedudukan subskrip permulaan dan penamat yang ditentukan.
Persekitaran pengendalian tutorial ini: sistem Windows 7, versi JavaScript 1.8.5, komputer Dell G3.
Terdapat tiga cara untuk memintas rentetan dengan JavaScript:
slice(): Ekstrak subrentetan
substr(): Ekstrak subrentetan
substring(): Kembalikan subrentetan rentetan
Antaranya, substr The ( ) kaedah boleh memintas subrentetan berdasarkan panjang yang ditentukan, manakala kaedah slice() dan substring() kedua-duanya memintas rentetan berdasarkan kedudukan subskrip permulaan dan penamat yang ditentukan. Izinkan saya memberi anda pengenalan terperinci di bawah.
Memintas rentetan panjang yang ditentukan
Kaedah substr() boleh memintas subrentetan mengikut panjang yang ditentukan. Ia mengandungi dua parameter Parameter pertama menunjukkan subskrip permulaan subrentetan yang akan dipintas, dan parameter kedua menunjukkan panjang pintasan.
Contoh 1
Dalam contoh berikut, gunakan lastIndexOf() untuk mendapatkan kedudukan subskrip bagi tempoh terakhir rentetan, dan kemudian memintas 4 daripada kedudukan selepas ia.
var s = "http://c.biancheng.net/index.html"; var b = s.substr(s.lastIndexOf(".") + 1,4); //截取最后一个点号后4个字符 console.log(b); //返回子字符串“html”
Jika parameter kedua diabaikan, ini bermakna memintas semua aksara dari kedudukan permulaan hingga akhir. Memandangkan panjang sambungan tidak tetap, mengabaikan parameter kedua akan menjadi lebih fleksibel.
var b = s.substr(s.lastIndexOf(".") + 1);
Jika parameter pertama ialah nilai negatif, ini bermakna kedudukan subskrip dikira dari hujung rentetan, iaitu, -1 bermaksud aksara terakhir, -2 bermaksud kedua hingga terakhir watak, jadi analogi. Ini berguna apabila panjang aksara kiri tidak ditetapkan.
ECMAScript tidak lagi mengesyorkan menggunakan kaedah ini dan mengesyorkan menggunakan kaedah slice() dan substring().
Memintas rentetan kedudukan subskrip permulaan dan penamat
Kaedah slice() dan substring() adalah berdasarkan permulaan yang ditentukan dan subskrip berakhir Kedudukan untuk memintas rentetan, ia boleh mengandungi dua parameter, parameter pertama mewakili subskrip permulaan, dan parameter kedua mewakili subskrip berakhir.
Contoh 2
Kod berikut menggunakan kaedah subrentetan() untuk memintas maklumat nama hos tapak web dalam rentetan URL.
var s = "http://c.biancheng.net/index.html"; var a = s.indexOf("c"); var b = s.indexOf("/", a); var c = s.substring(a,b); var d = s.slice(a,b);
Rentetan yang dipintas mengandungi aksara yang ditentukan oleh parameter pertama. Titik akhir tidak dipotong, iaitu tidak termasuk dalam rentetan.
Jika parameter kedua ditinggalkan, ini bermakna memintas semua rentetan hingga ke penghujung.
Jika nilai parameter pertama lebih besar daripada nilai parameter kedua, kaedah subrentetan() boleh menukar dua parameter sebelum melakukan pemintasan, dan untuk kaedah slice() diabaikan sebagai tidak sah dan rentetan kosong dikembalikan.
Contoh 3
Kod berikut membandingkan penggunaan kaedah substring() dan kaedah slice().
var s = "http://c.biancheng.net/index.html"; var a = s.indexOf("c"); var b = s.indexOf("/", a); var c = s.substring(b, a); var d = s.slice(b, a);
Apabila saiz nilai titik permulaan dan titik akhir tidak dapat ditentukan, adalah lebih sesuai untuk menggunakan kaedah subrentetan().
Jika nilai parameter adalah negatif, kaedah slice() boleh mentafsirkan tanda negatif sebagai kedudukan dari kanan, yang sama dengan kaedah slice() Array. Tetapi kaedah substring() akan menganggapnya sebagai tidak sah dan mengembalikan rentetan kosong.
Contoh 4
Kod berikut membandingkan penggunaan kaedah subrentetan() dan kaedah slice().
var s = "http://c.biancheng.net/index.html"; var a = s.indexOf("c"); var b = s.indexOf("/", a); var 1 = s.length; var c = s.substring(a-1, b-1); var d = s.slice(a-1, b-1);
[Pembelajaran yang disyorkan: tutorial lanjutan javascript]
Atas ialah kandungan terperinci Apakah kaedah untuk memintas rentetan dalam javascript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!