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