如果字符串中有,
字符,我必須在字符串末尾刪除零。我可以使用正則表達式完成以下任何操作。 所以使用正則表達式刪除字符串中的所有零字符
123,90 -> 123,9
123,00 -> 123,
123,0 -> 123,
123,0090 ->123,009
00,34-> 00,34
ABC -> ABC
如果字符串中有,
字符,我必須在字符串末尾刪除零。我可以使用正則表達式完成以下任何操作。 所以使用正則表達式刪除字符串中的所有零字符
123,90 -> 123,9
123,00 -> 123,
123,0 -> 123,
123,0090 ->123,009
00,34-> 00,34
ABC -> ABC
嘿anu。這是完美的。但是如何調整這個表達式以從開始刪除也。 00123,2500 - > 123,25 – user3182464
[在這種情況下,使用'\ b0 *(\ d *,\ d *?)0+ \ b'正則表達式搜索](https://regex101.com/r/vH2cG4/3 ) – anubhava
感謝Anubhava。這工作。 – user3182464
看來,如果你使用,
作爲數小數的分隔符。所以,你可以使用double.TryParse
和double.ToString
以獲得期望的結果:
string str = "123,0090";
double d;
if (double.TryParse(str, out d))
str = d.ToString();
如果你想確保使用逗號作爲小數點分隔符:
if (double.TryParse(str, NumberStyles.Any, new CultureInfo("de-DE"), out d))
str = d.ToString();
如果你會使用decimal.TryParse
,而不是數量尾隨的零將被保留,這在這種情況下是不希望的。 Msdn:「縮放因子也保留任何尾隨零在一個十進制數....可能受ToString
方法被揭示....」。
String line = "120,90";
String newLine = line.replaceAll("0*$", "");
//120,9
除去從端任何「0」開始的字符串表達式。用字符串末尾的空格替換所有的0,直到字符串中的第一個非0字符。
記得比RegEx用於測試的模式。它將返回true或false,而不是對字符串本身進行任何更改。
如果你想在一個字符串的結尾搜索字符,你可以使用$符號來構建你的正則表達式
使用this tool如果你想測試這個活
所以,此RegEx將返回true每次您在末尾有0時,false否則
01現在,如果你需要刪除是零,您需要將TrimEnd函數內的報價執行TRIM
"129,0".TrimEnd('0')
注意。這是因爲這個方法需要一個char而不是一個字符串。
問候! Rod
也許,'s.Contains(「,」)? s.TrimEnd('0'):s' –