เรียนรู้วิธีดึงตัวเลขหนึ่งหรือหลายตัวออกจากสตริงด้วย 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"]
รุ่งโรจน์