我有一个字符串,它对应一个数字,但前面有几个前导零。我想做的是删除数字前的零,而不是数字中的零。例如,“ 00000001”应为1,而“ 00000010”应为10。我编写了删除零但也将尾部加尾的代码:
segment = my_str.strip("0")
该代码删除了所有零。如何只删除数字前的前导零。
答案 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