J'ai un string qui contient une formule mathématique.
J'aimerais indiquer de chaque nombre est de type Decimal donc en rajoutant "m" à la suite de chacun.
Mon matchvars détecte bien qu'il y a 6 nombres, mais je n'arrive pas à les remplacer correctement.
Je voudrais obtenir :
en entrée : "(18.45+12.36*9)/12.3*15.6+2"
en sortie : "(18.45m+12.36m*9m)/12.3m*15.6m+2m"
Au final, j'ai fait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 string formule = "(18.45+12.36*9)/12.3*15.6+2"; Regex regVars = new Regex(@"([0-9]+.?[0-9]*)"); MatchCollection matchVars = regVars.Matches(formule); Response.Write(matchVars.Count); for (int k = 0; k < matchVars.Count; k++) { formule = formule.Replace(matchVars[k].Value.ToString(), matchVars[k].Value.ToString() + "m"); //FAUX } Response.Write(formule);
J'apprendrais à mieux utiliser Matches une prochaine fois.
Code : Sélectionner tout - Visualiser dans une fenêtre à part string rep = Regex.Replace(formule, @"[0-9]+(\.[0-9]+)?", @"$0m");
Partager