在KeyUp中替换非小数

时间:2013-01-13 16:50:05

标签: c# regex

感谢Joey在这个问题中Remove non-digits, non-decimals, repeating decimals。我有Regex.Replace,看起来像这样

Regex.Replace(Txt, "[^-?\d+\.]|(?<=\.[^.]*)\.", "");

但现在我希望它只允许一个逗号(,),并且用户可以使用逗号或点,但不能同时使用逗号或

我该如何实现?

所以合法的数字可能是

2.324324
0.34345325
2,5454
0,453453

1 个答案:

答案 0 :(得分:1)

试试这个:

string result = Regex.Replace(Txt, @"[^\d.,]|(?<=[.,][^.,]*)[.,]", "");