[英]How to remove extra dots spaces from a string to build a decimal using C# Regex?
INPUT :字符串表示数字,字符串,点和空格。 请注意, e
定义了数字之间的分隔符。
e.27.3.90.. .e 3.50 2.30..e2.0.1.2. .50..
输出 :我想删除所有空格和那些额外的点,除了组成跟随的那个并添加一个,
在e
之前,
,e273.90,e3502.30,e2012.50
最好的捕获是如何删除额外的小数点? 。 但它基于Javascript
parseFloat()
。
我也看到了这篇文章: 转换为有效的十进制数据类型 。 但这就是SQL
而且几乎都使用了多个replace()
。
PS:关于各种类型的regex
有很多帖子。 我试图建立一个,但到目前为止似乎没有成功。
regex
或想法。 regex
与多个replace()
的性能增益/损失 这是我一直在喘着粗气的代码;)..:
List<string> myList;
string s = "";
string s2 = "";
string str = "e.27.3.90..bl% .e 3.50 2.30. #rp.e2.0.1.2..50..y*x";
s = Regex.Replace(str, @"\b[a-df-z',\s]+", "");
myList = new List<string>(Regex.Split(s, @"[e]"));
最后str
是你的结果
string str = "e.27.3.90..bl% .e 3.50 2.30. #rp.e2.0.1.2..50..y*x";
str = Regex.Replace(str, "[^e^0-9]", "");
str = Regex.Replace(str, "([0-9]{2}?)(e|$)", ".$1,$2");
//str = "," + str.Substring(0, str.Length - 1);
使用标准String方法可以轻松执行这些步骤,但如果需要,可以使用正则表达式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.