เรียนรู้วิธีดึงตัวเลขหนึ่งหรือหลายตัวออกจากสตริงด้วย JavaScript
สมมติว่าคุณมีสตริงที่มีตัวเลข และคุณต้องการแยกเฉพาะตัวเลขเท่านั้น ไม่มีปัญหา คุณสามารถใช้ match() . ของ JavaScript ได้ วิธีการ
นี่คือค่าสตริงที่มีตัวเลขหนึ่งตัว (1995 ) ที่กำหนดให้กับตัวแปรชื่อ stringWithOneNumber :
const stringWithOneNumber = "JavaScript was invented in 1995 by Brendan Eich"
ทีนี้มาแนบ match() . กัน ให้กับตัวแปร และเพิ่ม \d+ เป็นอาร์กิวเมนต์ ดังนั้นดูเหมือนว่า match(/\d+/)
stringWithOneNumber.match(/\d+/)
หมายเหตุ:\d+ เป็นอักขระเมตานิพจน์ทั่วไป (RegEx) ที่หมายถึง "จับคู่ตัวเลข 1 ตัวขึ้นไป"
แล้วมาพิมพ์ผลลัพธ์กัน:
console.log(stringWithOneNumber.match(/\d+/))
// ["1995"] มันได้ผล!
แยกตัวเลขหลายตัวออกจากสตริง
จะเกิดอะไรขึ้นหากสตริงมีตัวเลขตั้งแต่สองตัวขึ้นไป
ไม่มีปัญหา คุณเพียงแค่เพิ่ม g global ส่วนกลาง ตั้งค่าสถานะเป็น match() ข้อโต้แย้ง. ลองใช้ตัวอย่างก่อนหน้านี้ แต่คราวนี้ประโยคสตริงมีตัวเลขสองตัว:
const stringWithMultipleNumbers =
"JavaScript was invented in 1995 by Brendan Eich, and is still used in 2020"
ตอนนี้เพิ่ม match() เมธอดด้วย \d+ + g :
stringWithMultipleNumbers.match(/\d+/g) พิมพ์ผลลัพธ์:
console.log(stringWithMultipleNumbers.match(/\d+/g))
// ["1995", "2020"] รุ่งโรจน์