Ziffern vor und nach dem Komma extrahierenHallo,
Ich habe Probleme, vor und nach dem Komma Ziffern aus einer Zeichenfolge zu extrahieren
Wie kann ich 0,98 und 0,97 aus einer Zeichenfolge erhalten?
string = "A_BD_CEEE:0.98,0.975620708";
first_number = Num( Regex( string, "(\d\d?\d?):", "\1" ) );
erwartet
first_number = 0.98
zweite_Nummer = 0,975
Vielen Dank</CODE></P><P> </P></LINGO-BODY><LINGO-LABS id="lingo-labs-377493" slang="en-US"><LINGO-LABEL>Skripting</LINGO-LABEL></LINGO-LABS><LINGO-SUB id="lingo-sub-377515" slang="en-US">Betreff: Ziffern vor und nach dem Komma extrahieren</LINGO-SUB><LINGO-BODY id="lingo-body-377515" slang="en-US"><P>Hier ist, wie ich es machen würde</P>
<PRE><CODE class=" language-jsl">names default to here(1);
string = "A_BD_CEEE:0.98,0.975620708";
first number=num(word(2,string,":,"));
second number = round(num(word(3,string,":,")),3);
Betreff: Ziffern vor und nach dem Komma extrahierenWenn die Zahlen nicht negativ sein können, sollte dies funktionieren:
Names Default To Here(1);
string = "A_BD_CEEE:0.98,0.975620708";
numString = Regex Match(string, "(\d+.\d*),(\d+.\d*)");
first_number = Num(numString[2]);
second_number = Num(numString[3]);
Show(first_number, second_number);
Betreff: Ziffern vor und nach dem Komma extrahierenNeben der Lösung von @jthi ,
Es gibt eine ziemlich gute Dokumentation zu Regex:
https://www.jmp.com/support/help/en/16.0/jmp/regular-expressions.shtml#
Das Problem Ihres anfänglichen Ansatzes war, dass es vorher keine Nummer gibt: nur danach.
Und Sie müssen die einschließen. in die Zeichenfolge, um die erste Zahl zu erhalten. Siehe Änderungen unten.
Regex ist es wert, gelernt zu werden, weil es wirklich mächtig ist.
string = "A_BD_CEEE:0.98,0.975620708";
first_number = Num( Regex( string, ":(\d.\d?\d?)", "\1" ) );