使用Regex C#转换字符串

时间:2015-02-12 14:25:54

标签: c# asp.net .net regex transform

我现在用正则表达式踢了一会儿,无法找到合适的解决方案。我一直在尝试使用C#中的Regex.Replace()方法转换字符串,如果长度小于5,则应该将0添加到现有字符串,转换可能如下所示

Input String ----------- Output String
12345        ----------- 12345
123          ----------- 00123
123456       ----------- 123456

任何帮助将不胜感激

3 个答案:

答案 0 :(得分:2)

您可以使用String.PadLeft"1234".PadLeft(5, '0')

答案 1 :(得分:1)

可能就像

var outputString = Regex.Replace(inputString, @"\d+", n => n.Value.PadLeft(5, '0'));

但在这种情况下你真的不需要正则表达式。

答案 2 :(得分:0)

您不需要任何正则表达式

if(str.Length < 5){
  for(var i = 0; i < 5 - str.length; i++)
      str = "0" + str;
}

以上就是你所需要的。您正在做的是,如果输入字符串的长度小于5,您只需减去并循环,添加它们。