我是 python 新手,我有一个看起来像这样的字符串
Temp = "', '/1412311.2121\n
"
我想要的输出只是得到数字和小数本身..所以我在寻找
1412311.2121
作为输出.. 试图摆脱字符串中的 ', '/\n .. 我试过 Temp.strip("\n") 和 Temp.rstrip("\n") 试图删除 \n但我似乎仍然留在我的弦上。:/... 有人有什么想法吗?谢谢你的帮助。
我是 python 新手,我有一个看起来像这样的字符串
Temp = "', '/1412311.2121\n
"
我想要的输出只是得到数字和小数本身..所以我在寻找
1412311.2121
作为输出.. 试图摆脱字符串中的 ', '/\n .. 我试过 Temp.strip("\n") 和 Temp.rstrip("\n") 试图删除 \n但我似乎仍然留在我的弦上。:/... 有人有什么想法吗?谢谢你的帮助。
字符串是不可变的。string.strip()
不会改变string
,它是一个返回值的函数。你需要做:
Temp = Temp.strip()
另请注意,strip()
不带任何参数的调用会导致它删除所有空白字符,包括\n
正如 stalk 所说,您可以通过调用strip("',/\n")
.Temp
如果数据像你显示的那样,用非数字数据从右到左包装的数字,你可以使用一个非常简单的正则表达式:
g = re.search('[0-9.]+', s) # capture the inner number only
print g.group(0)
我会使用正则表达式来做到这一点:
In [8]: s = "', '/1412311.2121\n"
In [9]: re.findall(r'([+-]?\d+(?:\.\d+)?(?:[eE][+-]\d+)?)', s)
Out[9]: ['1412311.2121']
这将返回在字符串中找到的所有浮点数的列表。