我需要从表示浮点值x.xx的字符串中移除尾随零。
我试着使用re.sub,但是没有效果
re.sub("(?=\.[0-9])0", "", "1.23, 2.50, 2.00, 2.30, 5.03")更新
在我的特殊情况下,在圆点后面只有两位数。我需要移除这两个零。使用、Ashwini、Chaudhary、和Porges help,我现在使用的是\.00|(?<=\.[0-9])0,可能还有一个更好的表达式。点前移除零不是我的目标。
对于我来说,看到不同数目的零的通解也会很有趣,而不仅仅是两个。
发布于 2014-02-11 22:02:56
您应该使用查找后断言,而不是向前看:
>>> 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

发布于 2014-02-11 22:03:17
你要的是回头,而不是前头。在当前表达式中,\.[0-9]试图与0同时匹配,这永远不会发生。
尝试:"(?<=\.[0-9])0"
https://stackoverflow.com/questions/21713986
复制相似问题