python怎么高级的处理版本号字符串?

问题遇到的现象和发生背景

有版本号字符串,‘1.2.x','2.3.x‘之类的,经过处理后,都变成'1.2.0’,‘2.3.0’。现在怎么能够高级点处理?类似于正则匹配之后的替换。代码越少越好。

问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
version='1.1.2'
list=version.split('.')
new_version='{0}.{1}.{2}'.format(list[0],list[1],'0')

这个方法的坏处在于有0,1这俩魔数,总觉得很挫。

我想要达到的结果

类似正则匹配,直接替换之类的

用正则表达式把字符串中最后数字替换成0


import re
version='1.1.2'
new_version=re.sub(r'\d+$','0',version)
print(new_version)


img

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

可用字符串的replace方法直接替换,一行代码即可。


version=['1.2.x','2.3.x']
new_version=[x.replace('x','0') for x in version]
print(new_version)

如对你有帮助,请点击采纳按钮给予支持,谢谢!