Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Apakah kaedah untuk memintas rentetan dalam javascript?

Apakah kaedah untuk memintas rentetan dalam javascript?

青灯夜游
青灯夜游asal
2021-07-20 16:04:5010860semak imbas

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.

Apakah kaedah untuk memintas rentetan dalam javascript?

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!

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