我有很多地址字符串,想要以合理的方式对它们进行排序。
我希望将字符串中的所有数字都填充为固定长度,例如:"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
这个能不能改进一下 - 在我看来有点丑陋!