Extraire les chiffres avant et après la virguleSalut,
J'ai du mal à extraire les chiffres d'une chaîne avant et après la virgule
comment puis-je obtenir 0,98 et 0,97 à partir d'une chaîne?
string = "A_BD_CEEE:0.98,0.975620708";
first_number = Num( Regex( string, "(\d\d?\d?):", "\1" ) );
attendu
premier_nombre = 0,98
second_number = 0,975
Merci</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">Re: Extraction de chiffres avant et après la virgule</LINGO-SUB><LINGO-BODY id="lingo-body-377515" slang="en-US"><P>Voici comment je le ferais</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);
Re: Extraction de chiffres avant et après la virguleSi les nombres ne peuvent pas être négatifs, cela devrait fonctionner:
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);
Re: Extraction de chiffres avant et après la virguleEn plus de la solution de @jthi ,
il existe une assez bonne documentation sur les regex:
https://www.jmp.com/support/help/en/16.0/jmp/regular-expressions.shtml#
Le problème de votre approche initiale était qu'il n'y a pas de nombre avant:, seulement après.
Et vous devez inclure le fichier. dans la chaîne pour obtenir le premier nombre. Voir les changements ci-dessous.
Regex vaut la peine d'être apprise car elle est vraiment puissante.
string = "A_BD_CEEE:0.98,0.975620708";
first_number = Num( Regex( string, ":(\d.\d?\d?)", "\1" ) );