INPUT :字符串包含数字,字符串,点和空格。请注意,e
定义了数字之间的分隔符。
e.27.3.90.. .e 3.50 2.30..e2.0.1.2. .50..
输出:我想删除所有空格和那些额外的点,但构成关注点的除外,并在,
之前添加e
,
,e273.90,e3502.30,e2012.50
最好的捕捉是How to remove extra decimal points?。但它基于Javascript
parseFloat()
。
我也看过这篇文章:Convert to valid decimal data type。但这是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]"));
答案 0 :(得分:2)
上次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);
答案 1 :(得分:0)
使用标准String方法可以轻松执行这些步骤,但如果需要,可以使用正则表达式。