node.js - RegEx ของ Javascript สำหรับจับคู่จำนวนเต็มบวกและลบ
ฉันกำลังพยายามดึง จำนวนเต็มบวก และ จำนวนเต็มลบ จากสตริงที่ให้มา แต่สามารถดึงได้เฉพาะจำนวนเต็มบวกเท่านั้น
ฉันกำลังส่งสตริง "34,-10" เข้าไปในพารามิเตอร์ getNumbersFromString
ฉันกำลังได้รับ
ผลลัพธ์:
['34','10']
ผลลัพธ์ที่คาดหวังควรเป็น
[34,-10]
ฉันจะแก้ปัญหานี้ได้อย่างไร?
function getNumbersFromString(numberString){
var regx = numberString.match(/\d+/g);
return regx;
}
console.log(getNumbersFromString("34,-10"));คำตอบ #1
คุณยังสามารถจับคู่สัญลักษณ์ - (อย่างน้อย 0 และมากที่สุด 1) ก่อนตัวเลข จากนั้นคุณสามารถใช้ map() เพื่อแปลงให้เป็นตัวเลขได้
function getNumbersFromString(numberString){
var regx = numberString.match(/-?\d+/g).map(Number);
return regx;
}
console.log(getNumbersFromString("34,-10"));คำตอบ #2
ทำไมต้องใช้ regex ที่นี่ แล้ว split() และ map() ล่ะ
function getNumbersFromString(numberString){
return numberString.split(',').map(Number)
}
console.log(getNumbersFromString("34,-10"));หรือตัวอักษรนำเข้านั้นไม่ 'สะอาด' และมีข้อความด้วยหรือไม่?
