node.js - Javascript RegEx för att matcha positiva och negativa heltal
Jag försöker extrahera positiva och negativa heltal från den givna strängen. Men kan bara extrahera positiva heltal.
Jag skickar "34,-10" strängen till getNumbersFromString-parametern
Jag får
Utdata:
['34','10']
Den förväntade utdata bör vara
[34,-10]
Hur löser jag detta problem?
function getNumbersFromString(numberString){
var regx = numberString.match(/\d+/g);
return regx;
}
console.log(getNumbersFromString("34,-10"));Svar #1
Du kan också matcha --tecknet (minst 0 och högst 1) före numret. Sedan kan du använda map() för att konvertera dem till nummer.
function getNumbersFromString(numberString){
var regx = numberString.match(/-?\d+/g).map(Number);
return regx;
}
console.log(getNumbersFromString("34,-10"));Svar #2
Varför använda ett regex här. Vad sägs om split() och map()
function getNumbersFromString(numberString){
return numberString.split(',').map(Number)
}
console.log(getNumbersFromString("34,-10"));Eller är inmatningssträngen inte "ren" och innehåller även text?
