我想将一个 string
剥离成只有数值和一个小数点....
我的正则表达式有什么问题?
string test = "1e2e3.e4";
var s = Regex.Replace(test, "^\\d*\\.\\d*$", "");
最佳答案
你正在做的是去掉一个十进制数,试试这个:
Regex.Replace(test, "[^\\d.]", "");
如果只想保留一个点,如果有很多点,则首先需要确定要保留哪个点。
更新:假设您想要保留第一个或最后一个点,请使用 String.IndexOf
或 String.LastIndexOf
拆分字符串和使用:
Regex.Replace(test, "\\D", "");
在每个结果字符串上。这可能比不使用正则表达式要慢,因为 Matt Hamilton 的回答很艰难。
关于c# - 简单的数字正则表达式不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4953208/