J'ai besoin d'un texte comme "joe ($3,004.50)" pour être filtré jusqu'à 3004.50 mais je suis nul en regex et je ne trouve pas de solution appropriée. Je suis nul en regex et je n'arrive pas à trouver une solution adéquate. Seuls les chiffres et les points doivent rester - tout le reste est filtré. J'utilise C# et VS.net 2008 framework 3.5.
Réponses
Trop de publicités?
Matthew Flaschen
Points
131723
La regex est :
[^0-9.]
Vous pouvez mettre en cache le regex :
Regex not_num_period = new Regex("[^0-9.]")
alors utilisez :
string result = not_num_period.Replace("joe ($3,004.50)", "");
Cependant, vous devez garder à l'esprit que certaines cultures ont des conventions différentes pour écrire les montants monétaires, comme par exemple : 3.004,50.