如何拆分以下字符串?

时间:2013-11-17 11:32:21

标签: python

我有以下字符串,我只需要从中提取第一个数字。

string = '50.2000\xc2\xb0 E'

如何从string中提取50.2000?

4 个答案:

答案 0 :(得分:2)

mystring = '50.2000\xc2\xb0 E'
print mystring.split("\xc2", 1)[0]

<强>输出

50.2000

答案 1 :(得分:2)

如果数字后跟任何类型的字符,请尝试使用正则表达式:

>>> import re
>>> r = re.compile(r'(\d+\.\d+)')
>>> r.match('50.2000\xc2\xb0 E').group(1)
'50.2000'

答案 2 :(得分:1)

如果您只想分割第一个数字,只需切割字符串:

start = 10 #start at the 10th digit
print mystring[start:]

演示:

>>> my_string = 'abcasdkljf23u109842398470ujw{}{\\][\\['
>>> start = 10
>>> print(my_string[start:])
23u109842398470ujw{}{\][\[

您可以在第一个\分割字符串:

>>> s = r'50.2000\xc2\xb0 E'
>>> s.split('\\', 1)
['50.2000', 'xc2\\xb0 E']

答案 3 :(得分:0)

您可以使用正则表达式解决此问题:

In [1]: import re

In [2]: string = '50.2000\xc2\xb0 E'

In [3]: m = re.match('^([0-9]+\.?[0-9]*)', string)

In [4]: m.group(0)
Out[4]: '50.2000'