python删除字符串中的前导负号

时间:2018-02-20 19:58:23

标签: python string negative-number

我想测试字符串是否具有负前导字符,然后在True时删除该字符。

我试过了:

value_a = "-50.1342"
temp_a = value_a.split(".") #needed for other purposes
if temp_a[0].startswith('-'):
  del temp_a[0]

print temp_a

结果为空[]。 可能是什么原因......?

4 个答案:

答案 0 :(得分:1)

您的list包含1个元素,即字符串"-50"

你想要做的是改变那个字符串,如下所示:

temp_a[0] = temp_a[0].replace("-", '')

答案 1 :(得分:1)

输出为零,因为当您执行del temp_a[0]时,您没有删除否定值,而是删除-50。所以一旦你打印它就会使它为零。 这显示在repl.it - https://repl.it/@RithvikKasarla/VapidExternalRuntimes

要删除否定尝试,请尝试这样的事情。

value_a = "-50.1342"
temp_a = value_a.split(".") #needed for other purposes
if temp_a[0].startswith('-'):
  temp_a[0] = str(int(temp_a[0])*-1)
print temp_a

这样做可以输出[" 50"," 1342"]

答案 2 :(得分:1)

根据您的描述,听起来这可能是您想要的。

['50', '1342']

这给了我

{{1}}

答案 3 :(得分:0)

试试这个:

value_a = "-50.1342"
value_a=value_a.replace("-",'')

鉴于value_a是一个数字,会删除它。