RegExp : rajouter un "m" après chaques nombres
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"
Code:
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); |
Au final, j'ai fait :
Code:
string rep = Regex.Replace(formule, @"[0-9]+(\.[0-9]+)?", @"$0m");
J'apprendrais à mieux utiliser Matches une prochaine fois.