我现在用正则表达式踢了一会儿,无法找到合适的解决方案。我一直在尝试使用C#中的Regex.Replace()方法转换字符串,如果长度小于5,则应该将0添加到现有字符串,转换可能如下所示
Input String ----------- Output String
12345 ----------- 12345
123 ----------- 00123
123456 ----------- 123456
任何帮助将不胜感激
答案 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,您只需减去并循环,添加它们。