วิธีสร้างวัตถุสตริง
การประกาศ: วิธีการของวัตถุสตริงสามารถเข้าถึงได้ในค่าสตริงพื้นฐานทั้งหมด
เรียกสตริงคอนสตรัคเตอร์ ():
var str = สตริงใหม่ (); var str = สตริงใหม่ ('hello world'); // เริ่มต้น str, str.length = 11;วิธีการเข้าถึงและค้นหาสตริง
1. การเข้าถึง (ผ่านดัชนี)
(1) Charat () หรือ []
1 พารามิเตอร์พารามิเตอร์คือตำแหน่งอักขระส่งคืนอักขระ
var strvalue = สตริงใหม่ ('hello world'); console.log (strvalue.charat (1)); // econsole.log (strvalue [1]); // e, IE7 และรุ่นต่ำกว่าใช้วิธีนี้(2) charcodeat ()
1 พารามิเตอร์พารามิเตอร์คือตำแหน่งอักขระส่งคืนการเข้ารหัสอักขระ
var strvalue = สตริงใหม่ ('hello world'); console.log (strvalue.charcodeat (1)); // 1012. ค้นหาตำแหน่ง
(1) ดัชนี ()
พารามิเตอร์แรกคือสตริงย่อยที่ระบุและพารามิเตอร์ที่สองคือตำแหน่งการค้นหา ส่งคืนดัชนีหากไม่พบส่งคืน -1
var str = 'hello world'str.indexof (' l '); // 2, กลับตำแหน่งของตัวละครตัวแรกที่พบ str.indexof (' l ', 6); // 9(2) LastIndexof ()
ความแตกต่างจาก indexof () คือ LastIndexof () คือการค้นหา substrings จากส่วนท้ายของสตริง
วิธีการ
1. สายขยาย
concat ()
ยอมรับพารามิเตอร์จำนวนเท่าใดก็ได้ที่จะแยกสายอย่างน้อยหนึ่งสาย, ส่งคืนการประกบเพื่อรับสำเนาใหม่ของสตริง
var str = สตริงใหม่ ('hello'); var result = str.concat ('world'); console.log (ผลลัพธ์); // hello worldTypeof ผลลัพธ์ // "สตริง"2. รับวิธีการย่อย
Slice (), substr (), substring (), ทั้งสามวิธีนี้จะส่งคืนสำเนาของสตริงย่อยที่ทำงานและพวกเขาจะยอมรับพารามิเตอร์ 1 หรือ 2 ตัวปิดก่อนแล้วเปิด [)
(1) Slice ()
var str = 'hello'; str.slice (0,2); // "เขา", พารามิเตอร์แรกระบุตำแหน่งที่สตริงเริ่มต้นพารามิเตอร์ที่สองระบุว่าสตริงสิ้นสุด str.slice (-3); // "llo", o -1, -1, countdown, -3, -3 ปลายแรก o
(2) Substring ()
var str = 'hello'; str.substring (0,2); // "เขา" พารามิเตอร์ในเวลานี้เหมือนกับ str.slice (0,2) str.substring (-3); // "hello", วิธีการย่อย ()
(3) substr ()
var str = 'hello'; str.substr (1,2); // "el" พารามิเตอร์แรกระบุตำแหน่งเริ่มต้นของสตริงและพารามิเตอร์ที่สองระบุจำนวนอักขระที่ส่งคืน str.substr (-3); // "llo" ความหมายของพารามิเตอร์ในเวลาเดียวกัน พารามิเตอร์ที่สองติดลบถึง 0
มีปัญหาใน IE เมื่อวิธี substr () ผ่านค่าลบมันจะส่งคืนสตริงต้นฉบับ IE9 แก้ไขปัญหานี้
3. แปลงสตริงเป็นอาร์เรย์
แยก()
แบ่งสตริงออกเป็นหลายส่วนย่อยตามตัวคั่นที่ระบุ (สามารถเป็นสตริงหรือวัตถุ regexp) และใส่ผลลัพธ์ในอาร์เรย์ยอมรับพารามิเตอร์ที่สองเสริมเพื่อระบุขนาดของอาร์เรย์และส่งคืนอาร์เรย์
var color = 'สีน้ำเงิน, สีแดง, สีส้ม'; color.split (); // ["สีแดง, สีน้ำเงิน, สีส้ม"], ความยาวคือ 1color.split (','); // ["สีน้ำเงิน", "สีแดง", "สีส้ม"], ความยาว 3VAR = 3color.split (',', 2); // ["สีน้ำเงิน", "สีแดง"]4. การแปลงเคสสตริง
ToLowerCase (), touppercase ()
var str = 'hello'; str.touppercase (); // "สวัสดี" str.toLowercase (); // "สวัสดี"
5. วิธีการลบช่องว่างสตริง
ตัดแต่ง ()
ลบช่องว่างทั้งหมดในคำนำหน้าและคำต่อท้ายในสตริงและส่งคืนสำเนาของผลลัพธ์
var str = 'hello world'; str.trim () // "Hello World"
6. วิธีการจับคู่รูปแบบของสตริง
(1) การจับคู่ ()
พารามิเตอร์: ยอมรับพารามิเตอร์เดียวเท่านั้นไม่ว่าจะเป็นนิพจน์ทั่วไปหรือวัตถุ regexp ()
Return: Array รายการแรกในอาร์เรย์คือสตริงที่ตรงกับรูปแบบทั้งหมดและแต่ละรายการหลังจากนั้น (ถ้ามี) ถือสตริงที่ตรงกับกลุ่มการจับนิพจน์ปกติ
เป็นหลักเช่นเดียวกับการโทร EXEC ()
var text = 'cat, bat, sat, fat'; var pattern = /.at/;
(2) ค้นหา ()
พารามิเตอร์: เหมือนกับวิธีการจับคู่ ()
ผลตอบแทน: ดัชนีของการจับคู่แรกในสตริงและ -1 หากไม่มีการจับคู่
เมธอดการค้นหา () จะถูกค้นหาจากด้านหน้าไปด้านหลังเสมอ
var text = 'cat, bat, sat, fat'; var pattern = /at/; text.search(pattern) // 1
(3) แทนที่ ()
พารามิเตอร์: รับพารามิเตอร์สองตัว พารามิเตอร์แรกสามารถเป็นวัตถุ regexp หรือสตริง (สตริงนี้จะไม่ถูกแปลงเป็นนิพจน์ทั่วไป) และพารามิเตอร์ที่สองอาจเป็นสตริงหรือฟังก์ชัน
หากอาร์กิวเมนต์แรกเป็นสตริงจะมีการแทนที่สตริงแรกเท่านั้น วิธีเดียวที่จะแทนที่สตริงย่อยทั้งหมดคือการให้นิพจน์ทั่วไปและระบุธงธงสีโลก (G)
หากพารามิเตอร์ที่สองเป็นสตริงคุณยังสามารถใช้ลำดับอักขระพิเศษบางอย่างเพื่อแทรกค่าที่ได้จากการดำเนินการนิพจน์ทั่วไปลงในสตริงผลลัพธ์
นอกจากนี้ยังสามารถเป็นฟังก์ชันและพารามิเตอร์ที่ส่งผ่านไปยังฟังก์ชั่นคือการจับคู่ของรูปแบบตำแหน่งของการจับคู่ของรูปแบบในสตริงและสตริงต้นฉบับ ในกรณีที่นิพจน์ทั่วไปกำหนดกลุ่มการจับภาพหลายกลุ่มพารามิเตอร์ที่ส่งผ่านไปยังฟังก์ชั่นคือการจับคู่ของรูปแบบการจับคู่ของกลุ่มการจับภาพแรกและอื่น ๆ แต่พารามิเตอร์สองตัวสุดท้ายคือตำแหน่งของการจับคู่ของรูปแบบในสตริงและสตริงต้นฉบับ
| ลำดับตัวละคร | แทนที่ข้อความ |
|---|---|
| - | - |
| - | จับคู่ย่อยในรูปแบบทั้งหมด |
| - | Substring หลังการจับคู่ย่อย |
| - | Substring ก่อนการจับคู่สตริง |
| $ n | จับคู่สตริงย่อยในกลุ่มการจับภาพที่ N $ 1 |
| $ nn | จับคู่สายย่อยของกลุ่มการจับภาพ NN-th, $ 01 |
var text = 'xxx-love-xxx'; var pattern =/xxx/g; var result = text.replace (รูปแบบ, '2') ผลลัพธ์ // "2-love-2" text.replace (/(xxx)-/w {4}-(xxx)/g, 'ฉันรักคุณ'); = text.replace (pattern1, '$$') ผลลัพธ์ // "$ -love-$" var result = text.replace (pattern1, '$ & 2') ผลลัพธ์ // "xxx2-love-xxx2" var result = text.replace (pattern1, '$/' ')