gpt4 book ai didi

python - 如何填充字符串中的所有数字

转载 作者:太空狗 更新时间:2023-10-29 21:21:32 25 4
gpt4 key购买 nike

我有很多地址样式字符串,我想以合理的方式对它们进行排序。

我希望填充字符串中的所有数字,以便:“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

可以改进吗 - 我看起来很丑!

最佳答案

与其更改数据以适应排序算法,不如更改排序算法以适应数据。

参见 Sorting For Humans: Natural Sort OrderCoding Horror :

import re 

def sort_nicely( l ):
""" Sort the given list in the way that humans expect.
"""
convert = lambda text: int(text) if text.isdigit() else text
alphanum_key = lambda key: [ convert(c) for c in re.split('([0-9]+)', key) ]
l.sort( key=alphanum_key )

关于python - 如何填充字符串中的所有数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3101778/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com