ใน JavaScript การแยกส่วนย่อยส่วนใหญ่ใช้หนึ่งในสามวิธี: Slice, Substring และ Substr
คัดลอกรหัสดังนี้: // slice
// ไวยากรณ์: string.slice (start [, stop])
"ข่าวดีทุกคน!". Slice (5,9);
// 'ข่าว'
// substring
// ไวยากรณ์: string.substring (indexa [, indexb])
"ข่าวดีทุกคน!". Substring (5,9);
// 'ข่าว'
// substr
// ไวยากรณ์: string.substr (เริ่ม [, ความยาว])
"ข่าวดีทุกคน!". substr (5,4);
// 'ข่าว'
ป้อนพารามิเตอร์ดัชนีเริ่มต้นระหว่างสามวิธีและพารามิเตอร์ดัชนีปลายทาง (หรือความยาว)
แต่พวกเขาแตกต่างกันในบางแง่มุมที่สำคัญ:
1. เมธอด substr () แยกจำนวนอักขระที่ระบุจากตำแหน่งที่ระบุ
Param: เริ่มต้นการแยกดัชนีตำแหน่งของอักขระความยาวความยาวที่แยกหมายเลขและความยาวของอักขระ
return: สตริงใหม่ อักขระความยาวเริ่มตั้งแต่เริ่มต้น
มีอาการที่ไม่สอดคล้องกันในเบราว์เซอร์ที่แตกต่างกัน อย่างไรก็ตามในพารามิเตอร์ดัชนีเริ่มต้นของเบราว์เซอร์ IE8 และด้านล่างจะคำนวณจาก 0 อย่างน้อย 【 substr เป็นคุณลักษณะ ECMASCRIPT ที่แนบมากับเว็บเบราว์เซอร์และไม่แนะนำให้ใช้ดัชนีเริ่มต้นเป็นค่าลบ】
การคัดลอกรหัสมีดังนี้: var str = "abcdefghij";
console.log ("(1):" + str.substr (1));
console.log ("(1,2):" + str.substr (1,2));
console.log ("(-3):" + str.substr (-3));
console.log ("(-3,2):" + str.substr (-3,2));
console.log ("(20, 2):" + str.substr (20, 2));
console.log ("(-20, 2):" + str.substr (-20, 2));
// IE8 และด้านล่าง
console.log ("(-3):" + str.substr (-2));
console.log ("(-3, 2):" + str.substr (-2));
2. เมธอด substring () ใช้เพื่อแยกชุดย่อยของดัชนีสตริงไปยังสตริงอื่นหรือจนกว่าจะสิ้นสุดของสตริง
Param: indexa, indexb พารามิเตอร์ทั้งสองใช้ค่าตั้งแต่ช่วง 0 ถึงจำนวนเต็มระหว่างความยาวของสตริง
return: ส่งคืนสตริงใหม่เริ่มต้นจากดัชนีขนาดเล็กไปยังดัชนีขนาดใหญ่รวมถึงอักขระตำแหน่งดัชนีขนาดเล็กไม่ใช่อักขระตำแหน่งดัชนีขนาดใหญ่
อาร์กิวเมนต์ของ substring นั้นกลับด้านและจะเริ่มต้นด้วยค่าพารามิเตอร์ขนาดเล็กและค่าพารามิเตอร์ขนาดใหญ่เมื่อสิ้นสุด หากพารามิเตอร์น้อยกว่า 0 หรือ NAN ก็จะพิจารณา 0 และหากพารามิเตอร์มากกว่าความยาวของสตริงก็จะถูกพิจารณาว่าเป็นค่าความยาวของสตริง
คัดลอกรหัสดังนี้: // สมมติว่ามีการกำหนดฟังก์ชั่นการพิมพ์
var anystring = "mozilla";
// แสดง "moz"
console.log (anystring.substring (0,3));
console.log (anystring.substring (3,0));
// แสดง "lla"
console.log (anystring.substring (4,7));
console.log (anystring.substring (7,4));
// แสดง "mozill"
console.log (anystring.substring (0,6));
// แสดง "mozilla"
console.log (anystring.substring (0,7));
console.log (anystring.substring (0,10));
3. สกัดสกัดส่วนหนึ่งของสตริง
Param: startslice เริ่มแยกดัชนีตำแหน่งของอักขระซึ่งอาจเป็นลบ สิ้นสุดการสกัดดัชนีตำแหน่งของอักขระ หากละเว้นการสกัดจะสิ้นสุดลง หากเป็นค่าลบก็จะถูกพิจารณา (sourcelength-endslice)
return: ส่งคืนสตริงใหม่อักขระทั้งหมดตั้งแต่เริ่มต้น (รวมถึงการเริ่มต้น) ถึงสิ้นสุด (ไม่รวมสิ้นสุด)
พารามิเตอร์ทั้งหมดสามารถเป็นลบได้
การคัดลอกรหัสมีดังนี้:
var str1 = "ตอนเช้าคือพวกเรา";
console.log (str1.slice (4, -2));
var str = "ตอนเช้าคือพวกเรา";
str.slice (-3);
str.slice (-3, -1);
Str.slice (0, -1);