Je construis une application .Net et je dois enlever tout caractère non-décimal d'une chaîne (à l'exclusion du premier '.'). Essentiellement, je nettoie l'entrée de l'utilisateur pour forcer un résultat réel. Jusqu'à présent, j'utilisais des outils RegEx en ligne pour essayer de réaliser ceci en un seul passage, mais je ne vais pas très loin.Trouver tout sauf la première occurrence d'un caractère avec REGEX
Je souhaite d'y arriver:
asd123.asd123.123.123 = 123.123123123
Malheureusement, je n'ai réussi à arriver au stade où
asd123.asd123.123.123 = 123.123.123.123
en utilisant ce code.
System.Text.RegularExpressions.Regex.Replace(str, "[^\.|\d]*", "")
Mais je suis bloqué en essayant d'enlever tout sauf le premier point décimal.
Cela peut-il être fait en un seul passage?
Y a-t-il un meilleur moyen?
's/[.]/\ X {DEADBEEF} /; s/[^. \ d \ x {DEADBEEF}] // g; s/\ x {DEADBEEF} /./; ' – tchrist