JavaScript 字符串搜索
- หน้าก่อน JS วิธีสตริง
- หน้าต่อไป JS แม่บทสตริง
วิธี JavaScript สำหรับค้นหาคำแถว
- String.indexOf()
- String.lastIndexOf()
- String.startsWith()
- String.endsWith()
String.indexOf()
indexOf()
วิธีนี้กลับค่าของข้อความที่กำหนดในคำแถวครั้งแรกตำแหน่ง (ที่) ที่ปรากฏของตัวอักษร
ตัวอย่าง
let str = "Please locate where 'locate' occurs!"; str.indexOf("locate") // กลับค่า 7
JavaScript นับตำแหน่งจาก 0
0 คือตำแหน่งแรกของคำแถว 1 คือตำแหน่งที่สอง 2 คือตำแหน่งที่สาม ...
String.lastIndexOf()
lastIndexOf()
วิธีนี้กลับค่าตำแหน่งของข้อความที่กำหนดในตัวสตริงที่ตรงกัน
ตัวอย่าง
let str = "Please locate where 'locate' occurs!"; str.lastIndexOf("locate") // กลับค่า 21
ถ้าไม่พบข้อความindexOf()
และ lastIndexOf()
ทั้งสองวิธีกลับค่า -1:
ตัวอย่าง
let str = "Please locate where 'locate' occurs!"; str.lastIndexOf("Bill") // กลับค่า -1
วิธีนี้รับตัวเลขที่เป็นตัวเลขที่สองเป็นตำแหน่งที่เริ่มต้นการค้นหา
ตัวอย่าง
let str = "Please locate where 'locate' occurs!"; str.indexOf("locate", 15) // กลับค่า 21
lastIndexOf()
วิธีค้นหาทางหลัง (จากท้ายไปถึงเริ่มต้น) หมายความว่าถ้าตัวเลขที่เป็นตัวเลขที่สองคือ 15
ถ้าตั้งตัวเลขเริ่มต้นที่ 15 จะค้นหาจากตำแหน่ง 15 ไปจนถึงต้นตัวสตริง
ตัวอย่าง
let str = "Please locate where 'locate' occurs!"; str.lastIndexOf("locate", 15) // กลับค่า 7
String.search()
search()
วิธีค้นหาค่าที่กำหนดในตัวสตริงและกลับค่าตำแหน่งที่ตรงกัน
ตัวอย่าง
let str = "Please locate where 'locate' occurs!"; str.search("locate") // กลับค่า 7
คุณชื่นชมไหม?
indexOf()
และ search()
เปรียบเทียบสองวิธีนี้ มีกันเท่ากันหรือไม่?
พวกเขารับตัวเลขที่เหมือนกัน และกลับค่าที่เหมือนกันหรือไม่?
นี้สองวิธีไม่เท่ากัน ความแตกต่างดังนี้:
search()
วิธีนี้ไม่สามารถรับตัวเลขที่เริ่มต้นที่สองที่เป็นตัวเลขindexOf()
วิธีนี้ไม่สามารถใช้ค่าที่ค้นหาที่มีความรุนแรง (ประมาณ)
คุณจะเรียนเรื่องประมาณภาษาไทยมากยิ่งขึ้นในบทที่ต่อไป
String.match()
match() มีการค้นหาค่าที่ตรงกันในตัวสตริงตามออกแบบประมาณ และกลับค่าในแบบมาตราฐาน Array
ตัวอย่าง 1
ค้นหา "ain" ในตัวสตริง
let text = "The rain in THAILAND stays mainly in the plain"; text.match(/ain/g) // กลับค่าแบบมาตราฐาน [ain,ain,ain]
โปรดเรียนเรื่องประมาณภาษาไทยในบทที่ JS RegExp
ถ้าออกแบบประมาณไม่มีตัวเลข g สร้างโดยสร้างทั่วไป (g 修饰符) ในการค้นหาทั่วไป match() มีการกลับค่าแค่การตรวจสอบค่าที่ตรงกันตรงหนึ่งในตัวสตริง
ระบบแสดงทางภาษา
.match(regexp)
regexp | จำเป็น ต้องการค้นหาค่าที่ต้องการ คือออกแบบเป็นประมาณ |
คืนค่า: | ตัวแปรแบบมาตราฐาน มีการตรวจสอบค่าที่ตรงกัน แต่ละค่าตรงกันตรงหนึ่ง ถ้าไม่มีการตรวจสอบค่า จะเป็น null |
ตัวอย่าง 2
ค้นหา "ain" โดยไม่แยกตัวหลักต่อตัวอ่อน ทั่วไป
let text = "The rain in THAILAND stays mainly in the plain"; text.match(/ain/gi) // คืนค่าตัวแปล [ain,AIN,ain,ain]}
String.includes()
ถ้าตัวสายประกอบด้วยค่าที่กำหนดincludes()
วิธีการคืนค่า true
ตัวอย่าง
let text = "Hello world, welcome to the universe."; text.includes("world") // คืนค่า true
การสนับสนุนโดยบราวเซอร์
Internet Explorer ไม่สนับสนุน String.includes()
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 41 | Edge 12 | Firefox 40 | Safari 9 | Opera 28 |
2015 ปี 3 มีนาคม | 2015 ปี 7 กรกฎาคม | 2015 ปี 8 สิงหาคม | 2015 ปี 10 ตุลาคม | 2015 ปี 3 มีนาคม |
ระบบแสดงทางภาษา
.includes(searchvalue, start)
searchvalue | จำเป็น |
start | ที่แบบเลือก โดยมาตรฐานเท่า 0 ตำแหน่งที่เริ่มค้นหา |
คืนค่า: | ถ้าตัวสายประกอบด้วยค่านี้ คืนค่า true ครับ ไม่เป็นไปตามที่กำหนด คืนค่า false . |
เวอร์ชั่น JS: | ES6 (2015) |
ตรวจสอบว่าตัวสายประกอบด้วย "world" จากตำแหน่ง 12 ต่อไป:
let text = "Hello world, welcome to the universe."; text.includes("world", 12) // คืนค่า false
String.startsWith()
ถ้าตัวสายเริ่มต้นด้วยค่าที่กำหนด startsWith()
วิธีการคืนค่า true
ครับ ไม่เป็นไปตามที่กำหนด คืนค่า false
:
ตัวอย่าง
let text = "Hello world, welcome to the universe."; text.startsWith("Hello") // คืนค่า true
ระบบแสดงทางภาษา
.startsWith(searchvalue, start)
ค่าปรากฏการณ์
ปรากฏการณ์ | คำอธิบาย |
---|---|
searchvalue | จำเป็น |
start | ที่แบบเลือก โดยมาตรฐานเท่า 0 ตำแหน่งที่เริ่มค้นหา |
ตัวอย่าง
let text = "Hello world, welcome to the universe."; text.startsWith("world") // คืนค่า false
let text = "Hello world, welcome to the universe."; text.startsWith("world", 5) // คืนค่า false
let text = "Hello world, welcome to the universe."; text.startsWith("world", 6) // คืนค่า true
หมายเหตุ:startsWith()
วิธีแยกของตัวอักษรตัวเล็กตัวใหญ่
Internet Explorer ไม่สนับสนุน startsWith()
วิธี。
สำหรับเวอร์ชั่นบราวเซอร์ที่สนับสนุนอย่างเต็มที่คือ:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 41 | Edge 12 | Firefox 17 | Safari 9 | Opera 28 |
2015 ปี 3 มีนาคม | 2015 ปี 7 กรกฎาคม | 2015 ปี 8 สิงหาคม | 2015 ปี 10 ตุลาคม | 2015 ปี 3 มีนาคม |
String.endsWith()
ถ้าตัวสายคือค่าที่กำหนด endsWith()
วิธีการคืนค่า true
ครับ ไม่เป็นไปตามที่กำหนด คืนค่า false
:
ตัวอย่าง
ตรวจสอบว่าตัวอักษรต่อสุดท้ายของตัวสายคือ "Gates":
var text = "Bill Gates"; text.endsWith("Gates") // คืนค่า true
ระบบแสดงทางภาษา
.endsWith(searchvalue, length)
ค่าปรากฏการณ์
ปรากฏการณ์ | คำอธิบาย |
---|---|
searchvalue | จำเป็น |
length | เลือกตั้งตามความต้องการ ยาวของสตริงที่ต้องการค้นหา |
ค้นหาสตริงที่จบด้วย "world" 11 อักษรแรก
let text = "Hello world, welcome to the universe."; text.endsWith("world", 11) // กลับค่า true
หมายเหตุ:endsWith()
วิธีแยกของตัวอักษรตัวเล็กตัวใหญ่
Internet Explorer ไม่สนับสนุน endsWith()
วิธี。
เวอร์ชั่นบราวเซอร์ที่สนับสนุนวิธีนี้คือ
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 51 | Edge 15 | Firefox 54 | Safari 10 | Opera 38 |
พฤษภาคม 2016 | เมษายน 2017 | มิถุนายน 2017 | กันยายน 2016 | มิถุนายน 2016 |
คู่มือสตริงเต็ม
สำหรับคู่มือเต็ม โปรดเข้าเว็บไซต์ของเรา คู่มือความหมาย JavaScript String.
คู่มือนี้มีคำอธิบายและตัวอย่างของทั้งหมดของคุณสมบัติและวิธีของสตริง
- หน้าก่อน JS วิธีสตริง
- หน้าต่อไป JS แม่บทสตริง