Как заменить строку цифр дополненной версией этой строки в подстановке регулярного выражения? - PullRequest
1 голос
/ 20 мая 2010

У меня есть строка цифр длиной 4 или 5 цифр, и она должна быть дополнена "0" до длины 6 цифр Это возможно? Я использую .Net Framework.

1 Ответ

3 голосов
/ 20 мая 2010

Вам не нужно регулярное выражение для выполнения этой операции. Вы можете использовать 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
...