Python 如何拆分以下字符串?

Python 如何拆分以下字符串?,python,Python,我有下面的字符串,我只需要从中提取第一个数字 string = '50.2000\xc2\xb0 E' 如何从字符串中提取50.2000 mystring = '50.2000\xc2\xb0 E' print mystring.split("\xc2", 1)[0] 输出 50.2000 输出 50.2000 如果您只想分割第一个数字,只需分割字符串: start = 10 #start at the 10th digit print mystring[start:] 演示: 您可以

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

string = '50.2000\xc2\xb0 E'
如何从
字符串中提取50.2000

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

50.2000
输出

50.2000

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

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

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

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

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

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

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

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

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

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

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

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

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

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'

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

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'

有可能一开始就分开绳子吗\?谢谢大家的帮助。您能告诉我为什么不拆分这个字符串吗
u'26.2833\xb0 N'
?它说
UnicodeDecodeError:“ascii”编解码器无法解码位置0处的字节0xb0:序号不在范围内(128)
为此提出一个新问题:)是否可以在第一个\?感谢帮助人员。您能告诉我为什么不拆分这个字符串吗
u'26.2833\xb0 N'
?它说
UnicodeDecodeError:“ascii”编解码器无法解码位置0处的字节0xb0:序号不在范围(128)
为此提出一个新问题:)