从Python中的数字字符串中删除零

时间:2014-06-10 13:20:32

标签: string python-2.7 zero

假设我有数字字符串。如果需要,我想删除所有尾随零和小数点。例如 -

'0.5' -> '.5'
'0005.00' -> '5'

我使用了这种方法:

s.strip("0") # where 's' contains the numeric string.

但对于0005.00,它会返回5.,那么如果必要,我将如何删除小数点?

2 个答案:

答案 0 :(得分:2)

要实现这一点,你可以写一个小功能

def dostuff(s):
    s = s.strip('0')
    if len(s) > 0 and s[-1] == '.':
        s = s[:-1]
    return s

这会剥离所有0 s并且如果找到.并且它位于字符串的末尾(意味着它的小数点并且没有跟随它)它也会使用[s:-1]去掉它(这会删除最后一个字符)。

s[-1]获取字符串的最后一个字符。有了这个,我们可以检查.是否是最后一个字符。

这可以通过使用正则表达式的较少代码来实现,但我认为这更容易遵循

演示

>>> print dostuff('5.0')
5
>>> print dostuff('005.00')
5
>>> print dostuff('.500')
.5
>>> print dostuff('.580')
.58
>>> print dostuff('5.80')
5.8

答案 1 :(得分:0)

尝试使用它与我一起从数字中删除所有零,我会为您提供帮助。

word = str(num).split('0') #to convert number list without zeros
word = ''.join(word)