У меня есть много строк в стиле адреса, и я хочу отсортировать их рациональным образом.
Я хочу дополнить все числа в строке так, чтобы: «Flat 12A High Rise» стал «Flat 00012A High Rise», в строке может быть несколько чисел.
Пока у меня есть:
def pad_numbers_in_string(string, padding=5):
numbers = re.findall("\d+", string)
padded_string = ''
for number in numbers:
parts = string.partition(number)
string = parts[2]
padded_string += "%s%s" % (parts[0], parts[1].zfill(padding))
padded_string += string
return padded_string
Может ли это быть улучшено - мне кажется, просто мрачно!