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