Estrazione delle cifre prima e dopo la virgolaCiao,
Sto lottando per estrarre le cifre da una stringa prima e dopo la virgola
come posso ottenere 0.98 e 0.97 da una stringa?
string = "A_BD_CEEE:0.98,0.975620708";
first_number = Num( Regex( string, "(\d\d?\d?):", "\1" ) );
previsto fuori
first_number = 0.98
secondo_numero = 0,975
Grazie</CODE></P><P> </P></LINGO-BODY><LINGO-LABS id="lingo-labs-377493" slang="en-US"><LINGO-LABEL>Scripting</LINGO-LABEL></LINGO-LABS><LINGO-SUB id="lingo-sub-377515" slang="en-US">Ri: estrazione delle cifre prima e dopo la virgola</LINGO-SUB><LINGO-BODY id="lingo-body-377515" slang="en-US"><P>Ecco come lo farei</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);
Ri: estrazione delle cifre prima e dopo la virgolaSe i numeri non possono essere negativi, dovrebbe funzionare:
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);
Ri: estrazione delle cifre prima e dopo la virgolaOltre alla soluzione di @jthi ,
c'è una buona documentazione su regex:
https://www.jmp.com/support/help/en/16.0/jmp/regular-expressions.shtml#
Il problema del tuo approccio iniziale era che non esiste un numero prima:, solo dopo.
E devi includere il file. nella stringa per ottenere il primo numero. Vedere le modifiche di seguito.
Vale la pena imparare le espressioni regolari perché è davvero potente.
string = "A_BD_CEEE:0.98,0.975620708";
first_number = Num( Regex( string, ":(\d.\d?\d?)", "\1" ) );