使用strip()清理字符串

时间:2012-05-25 15:58:00

标签: python regex string python-3.x

我是python的新手,我有一个看起来像这样的字符串

Temp = "', '/1412311.2121\n

我想要的输出只是获取数字和小数本身..所以我正在寻找

1412311.2121 

作为输出..试图摆脱字符串中的','/ \ n ..我试过Temp.strip(“\ n”)和Temp.rstrip(“\ n”)试图删除\ n但我似乎仍然保留在我的字符串中。 :/ ...有没有人有任何想法?谢谢你的帮助。

3 个答案:

答案 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)