我需要从表示浮点值的字符串中删除尾随零 x.xx
我尝试使用 re.sub但没有效果
re.sub("(?=\.[0-9])0", "", "1.23, 2.50, 2.00, 2.30, 5.03")
更新
在我的特殊情况下,点后只有两位数字。我需要删除两个零。在 Ashwini Chaudhary 和 Porges 的帮助下,我目前使用 \.00|(?<=\.[0-9])0可能存在更好的表达方式。在点之前删除零不是我的目标。
如果我看到一些针对不同数量的零的通用解决方案,而不仅仅是两个,我也会很感兴趣。
请您参考如下方法:
你应该使用 lookbehind 断言而不是 lookahead:
>>> re.sub("(?<=\.[0-9])0", "", "1.23, 2.50, 2.00, 2.30, 5.03")
'1.23, 2.5, 2.0, 2.3, 5.03'
(?<=\.[0-9])0
