Как увеличить число внутри строки с сохранением ведущих нулей?

Надо написать функцию, которая увеличивает строку, чтобы создать новую строку.

Если строка уже оканчивается цифрой, номер следует увеличить на 1.
Если строка не оканчивается цифрой. цифру 1 нужно добавить к новой строке.
Примеры:

foo -> foo1

foobar23 -> foobar24

foo0042 -> foo0043

foo9 -> foo10

foo099 -> foo100

Если число имеет ведущие нули, следует учитывать количество цифр.
  • Вопрос задан
  • 392 просмотра
Решения вопроса 1
0xD34F
@0xD34F
def replacer(m):
  val = m.group(0)
  return str(int(val or '0') + 1).rjust(len(val), '0')

def increment(s):
  return re.sub(r'\d*$', replacer, s, 1)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы