我正在寻找一个正则表达式 (.NET) 来删除尾随零:
11645766.560000001000 -> 11645766.560000001 10190045.740000000000 -> 10190045.74 1455720.820000000100 -> 1455720.8200000001
etc...
I am using regex, over String.Trim(), because the numbers are in one string, actual example:
!BEGIN !>>C85.18 POS_LEVEL.T129{11645766.560000001000} = POS_LEVEL.T129 {10190045.740000000000} + WORK_LEVEL.T129{1455720.820000000100} END;
需要转换为:
!BEGIN !>>C85.18 POS_LEVEL.T129{11645766.560000001} = POS_LEVEL.T129{10190045.74} + WORK_LEVEL.T129{1455720.8200000001} END;
最佳答案
如果数字嵌入在随机字符串中,则使用正则表达式:
替换 (?<=\.\d+?)0+(?=\D|$)
带有空字符串
如果尾随零以十进制数出现在句点之后,这将修剪尾随零(它将始终保留一个零)。它还解释了出现在最后的数字。
由于您同时添加了 .NET 标记,因此代码如下:
string replaced = Regex.Replace(
inputString,
@"(?<=\.\d+?)0+(?=\D|$)",
String.Empty);
关于.net - 用于删除尾随零的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1105653/