如何在正则表达式替换中用该字符串的填充版本替换数字字符串?

时间:2010-05-20 13:21:43

标签: .net regex padding

我有一串4或5位长的数字,需要用“0”填充,直到它长6位。这可能吗?我正在使用.Net框架。

1 个答案:

答案 0 :(得分:3)

您不需要正则表达式来执行此操作。您可以使用string.PadLeft

s = s.PadLeft(6, '0');

如果你需要使用正则表达式(也许是因为你执行了一些更复杂的替换,这只是一小部分),那么你可以将MatchEvaluator与上述技术结合使用:

string s = "foo <12423> bar";
s = Regex.Replace(s, @"<(\d+)>", match => match.Groups[1].Value.PadLeft(6, '0'));

结果:

foo 012423 bar