[英]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.