Wenn ich eine Zeichenfolge wie "etwas12" oder "etwas102" habe, wie würde ich eine Regex in Javascript verwenden, um nur die Zahl Teile zurück?
Err. hasse es, pingelig zu sein, aber dies gibt ein Array, nicht ein Objekt (zumindest in Chrome).
Wenn ich eine Zeichenfolge wie "etwas12" oder "etwas102" habe, wie würde ich eine Regex in Javascript verwenden, um nur die Zahl Teile zurück?
Reguläre Ausdrücke:
var numberPattern = /\d+/g;
'something102asdfkj1948948'.match( numberPattern )
Dies würde ein Array mit zwei Elementen zurückgeben, nämlich '102' und '1948948'. Operieren Sie, wie Sie wollen. Wenn es keine Übereinstimmung gibt, wird null zurückgegeben.
Um sie zu verketten:
'something102asdfkj1948948'.match( numberPattern ).join('')
Vorausgesetzt, Sie haben es nicht mit komplexen Dezimalzahlen zu tun, sollte dies ausreichen.
Err. hasse es, pingelig zu sein, aber dies gibt ein Array, nicht ein Objekt (zumindest in Chrome).
Für Zahlen mit Dezimalbruch und Minuszeichen verwende ich dieses Snippet:
const NUMERIC_REGEXP = /[-]{0,1}[\d]*[.]{0,1}[\d]+/g;
const numbers = '2.2px 3.1px 4px -7.6px obj.key'.match(NUMERIC_REGEXP)
console.log(numbers); // ["2.2", "3.1", "4", "-7.6"]
Aktualisierung: - 7/9/2018
Ich habe ein Tool gefunden, mit dem Sie reguläre Ausdrücke visuell bearbeiten können: *[JavaScript Regular Expression Parser & Visualisierer](https://jex.im/regulex/#!embed=false&flags=&re=%5E(a%7Cb)%3F%24)** .
Aktualisierung:
Hier ist eine weitere, mit der Sie sogar Debugger regexp können: Online-Regex-Tester und -Debugger .
Aktualisierung:
Eine andere: RegExr .
Aktualisierung:
Ich vermute, dass Sie die Nummer(n) aus der Zeichenkette abrufen wollen. In diesem Fall können Sie das Folgende verwenden:
// Returns an array of numbers located in the string
function get_numbers(input) {
return input.match(/[0-9]+/g);
}
var first_test = get_numbers('something102');
var second_test = get_numbers('something102or12');
var third_test = get_numbers('no numbers here!');
alert(first_test); // [102]
alert(second_test); // [102,12]
alert(third_test); // null
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.