假设我有这样的字符串“.1.12.3.4.12.4。”
结果我想得到“.01.12.03.04.12.04。”
正如你所看到的,我希望所有长度== 1的数字变为长度== 2,开头为零。我怎样才能做到这一点?
答案 0 :(得分:3)
试试这个:
var input = ".1.12.3.4.12.4.";
var output = Regex.Replace(input, @"\.(\d)(?=\.)", ".0$1");
Console.WriteLine(output); // .01.12.03.04.12.04.
答案 1 :(得分:1)
将字符串拆分为标记,格式化每个结果编号,然后将它们连接起来:
var input = ".1.12.3.4.12.4.";
var output = string.Join(
".",
input.Split('.')
.Select(i => i.Length == 0 ? "" : i.PadLeft(2, '0'))
);
此解决方案的最佳部分是您可以轻松更改填充结果的长度。
答案 2 :(得分:0)
你可以这样做
Regex.Replace(input,@"(?<=^|[.])(?=\d([.]|$))","0");
答案 3 :(得分:0)
string result = string.Join(".", str.Split(".").Select(n => n.Length == 1 ? "0" + n : n));