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

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

1 ответ

Решение

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