<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hallo alle,
Ich habe eine Zeichenfolge mit Zahlen, Buchstaben und Symbolen. Ich möchte nur Zahlen extrahieren.
Beispielsweise wird aus „48mg/l“ 48, aus „24“ bleibt 24 usw.
Dies muss in JSL erfolgen.
Danke!
Dies könnte einfacher sein, wenn Sie wissen, dass es sich bei den Zahlen um vorzeichenlose Ganzzahlen handelt und die Zeichenfolge nur eine Zahl enthält.In diesem Beispiel wird davon ausgegangen, dass es keine wissenschaftliche Notation gibt, aber möglicherweise Kommas zwischen Zahlen stehen.Es wird auch davon ausgegangen, dass eine Einheit keine Zahlen enthält, wie z. B. sec^2. Die Regex-Funktion wird verwendet, um alle Zeichen zu entfernen, die nicht (das ^ ist „nicht“) im Satz 0-9, Minus, Punkt und Komma enthalten sind.Der Backslash vor dem Minus ist ein Escapezeichen, um zu verhindern, dass es Teil eines Bereichs ist.Das „“ ist der Ersatzwert für jedes Zeichen, das nicht im Satz enthalten ist (sie werden gelöscht).Die Funktion „words“ wandelt das Ergebnis in eine Liste von Zeichenfolgen um, wobei das Komma als Trennzeichen dient.
teststring = "Gewicht=-4,8 g, Geschwindigkeit=13 m/h";
Wörter(regex(teststring, "[^0-9\-.,]","",GLOBALREPLACE),",");
{"-4,8", "13"}
für den einfachen Fall (mit vielen potenziellen Problemen), in dem \D „keine Ziffer“ bedeutet und die Funktion num() die Zeichenfolge in eine Zahl umwandelt,
teststring = "48gm";
num(regex(teststring, "\D","",GLOBALREPLACE));
48