使用strip()函数清理字符串

3

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

Temp = "', '/1412311.2121\n"

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

1412311.2121 

作为输出..尝试去掉字符串中的', '/\n'。我已经尝试了Temp.strip("\n")和Temp.rstrip("\n")来尝试删除\n,但好像仍然留在我的字符串中。:/...有人有什么想法吗?感谢您的帮助。

3个回答

18

字符串是不可变的。 string.strip() 不会改变 string,它是一个返回值的函数。你需要这样做:

Temp = Temp.strip()

还要注意,调用strip()而不带任何参数会导致它删除所有空白字符,包括\n

正如Stalk所说,您可以通过在Temp上调用strip("',/\n")来实现所需的结果。


1
关于strip,Temp = Temp.strip("', /\n") 对于提到的示例有效。 - stalk

6
如果数据像您展示的那样,是被非数字数据包裹的数字,您可以使用一个非常简单的正则表达式:
```` /^.*?\b(\d+)\b.*?$/gm ````
g = re.search('[0-9.]+', s)  # capture the inner number only
print g.group(0)

5
我会使用正则表达式来完成这个任务:
In [8]: s = "', '/1412311.2121\n"

In [9]: re.findall(r'([+-]?\d+(?:\.\d+)?(?:[eE][+-]\d+)?)', s)
Out[9]: ['1412311.2121']

该函数返回字符串中所有浮点数的列表。


7
他是新手。可能需要去掉解释器的部分,并包括“import re”。另外,对于一个新用户来说,这个正则表达式相当复杂。 - Colin Dunklau

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接