在python中的数字之前删除前导零

时间:2018-12-06 14:55:22

标签: python

我有一个字符串,它对应一个数字,但前面有几个前导零。我想做的是删除数字前的零,而不是数字中的零。例如,“ 00000001”应为1,而“ 00000010”应为10。我编写了删除零但也将尾部加尾的代码:

segment = my_str.strip("0")

该代码删除了所有零。如何只删除数字前的前导零。

2 个答案:

答案 0 :(得分:1)

使用lstrip

>>> '00000010'.lstrip('0')
'10'

({strip会删除前导零和尾随零。)

这弄乱了'0'(将其转换为空字符串)。有几种方法可以解决此问题:

#1:

>>> re.sub(r'0+(.+)', r'\1', '000010')
'10'
>>> re.sub(r'0+(.+)', r'\1', '0')
'0'

#2:

>>> str(int('0000010'))
'10'

#3:

>>> s = '000010'
>>> s[:-1].lstrip('0') + s[-1]

答案 1 :(得分:1)

只需使用int()函数,它将字符串更改为整数并删除零

my_str = '00000010'

my_int = int(my_str)

print(my_int)

输出:

10