วิธีค้นหาสตริงย่อย

สารบัญ:

วิธีค้นหาสตริงย่อย
วิธีค้นหาสตริงย่อย

วีดีโอ: วิธีค้นหาสตริงย่อย

วีดีโอ: วิธีค้นหาสตริงย่อย
วีดีโอ: เพลงเก่ายุค 90 หาฟังยาก l หมากเกมนี้, เธอปันใจ, รักน้องคนเดียว l 2024, พฤศจิกายน
Anonim

การทำงานกับตัวแปรสตริงเป็นหนึ่งในงานทั่วไปในการเขียนโปรแกรมประยุกต์ สิ่งนี้กำหนดความจริงที่ว่ามีฟังก์ชันในตัวสำหรับการค้นหาสตริงย่อยที่กำหนดในสตริงต้นทางในเกือบทุกภาษาการเขียนโปรแกรม และส่วนใหญ่มีตัวเลือกมากมายสำหรับการดำเนินการนี้ ด้านล่างนี้คือคำอธิบายของฟังก์ชันหลายประเภทที่ใช้กับภาษาการเขียนโปรแกรม JavaScript ฝั่งไคลเอ็นต์

วิธีค้นหาสตริงย่อย
วิธีค้นหาสตริงย่อย

คำแนะนำ

ขั้นตอนที่ 1

ใช้ฟังก์ชัน indexOf เพื่อจัดระเบียบการค้นหาสตริงย่อยในตัวแปรสตริงเมื่อเขียนสคริปต์ใน JavaScript ฟังก์ชันนี้มีให้สำหรับการใช้พารามิเตอร์สองตัว ซึ่งหนึ่งในนั้นคือสตริงย่อยที่ต้องการและจำเป็น พารามิเตอร์อื่นสามารถระบุดัชนีอักขระในตัวแปรสตริง ซึ่งจะเริ่มต้นการค้นหาสตริงย่อย - พารามิเตอร์นี้เป็นทางเลือกและมีค่าเท่ากับศูนย์โดยค่าเริ่มต้น ตามกฎไวยากรณ์ของภาษานี้ ตัวแปรสตริงดั้งเดิมจะต้องเขียนก่อนฟังก์ชันและคั่นด้วยจุด ตัวอย่างเช่น: "สตริงดั้งเดิม".indexOf ("สตริง", 2) ฟังก์ชันส่งคืนดัชนีของสตริงย่อยที่ระบุซึ่งพบในสตริงดั้งเดิมเป็นครั้งแรก ในตัวอย่างที่กำหนด จะส่งกลับ 9 หากไม่พบรายการที่ตรงกัน indexOf จะคืนค่า -1 โปรดทราบว่าฟังก์ชันนี้คำนึงถึงขนาดตัวพิมพ์เมื่อค้นหา

ขั้นตอนที่ 2

ใช้ฟังก์ชัน lastIndexOf เพื่อค้นหาการเกิดขึ้นของสตริงย่อยในทิศทางตรงกันข้าม กล่าวคือ เริ่มต้นที่อักขระตัวสุดท้ายของค่าสตริงดั้งเดิม ไวยากรณ์ lastIndexOf แทบไม่ต่างจากฟังก์ชันที่อธิบายไว้ข้างต้น - สามารถส่งผ่านพารามิเตอร์สองตัวได้ ซึ่งหนึ่งในนั้นจำเป็นต้องมี (สตริงย่อยที่จำเป็น) พารามิเตอร์ที่สองของฟังก์ชันนี้สามารถระบุตำแหน่งของจุดเริ่มต้นของการค้นหาและต้องนับในทิศทางจากอักขระตัวสุดท้ายถึงตัวแรก ฟังก์ชันนี้ยังคำนึงถึงขนาดตัวพิมพ์เมื่อค้นหาและส่งคืน -1 หากไม่พบรายการที่ตรงกัน ตัวอย่าง: "สตริงต้นทาง".lastIndexOf ("สตริง", 2) ฟังก์ชันนี้จะคืนค่า -1 เนื่องจากการค้นหาจะเริ่มต้นจากตำแหน่งที่สองจากจุดสิ้นสุดของสตริงต้นทาง ซึ่งจะลบข้อความค้นหาทั้งหมด

ขั้นตอนที่ 3

ใช้ฟังก์ชันการค้นหาเพื่อค้นหาการเกิดขึ้นของสตริงย่อยโดยใช้นิพจน์ทั่วไป (regexp) ฟังก์ชันนี้ต้องการพารามิเตอร์เพียงตัวเดียว - นิพจน์ทั่วไป มิฉะนั้น ค่าไวยากรณ์และค่าที่ส่งคืนจะเหมือนกับฟังก์ชันก่อนหน้า ตัวอย่าง: "Source string".search (/ string / i) ตัวอย่างนี้จะคืนค่าเป็น 9 แน่นอน การใช้นิพจน์ทั่วไปให้การปรับแต่งการค้นหาที่ละเอียดกว่ามาก แต่ก็ต้องใช้ทรัพยากรระบบมากขึ้นด้วย ซึ่งควร อย่าลืมเมื่อเขียนโปรแกรมสคริปต์ที่ใช้ทรัพยากรมากเพียงพอ