H H H
H H H

Reputation: 529

How do I split the following string?

I have the following string where I need to extract only the first digits from it.

string = '50.2000\xc2\xb0 E'

How do I extract 50.2000 from string?

Upvotes: 0

Views: 86

Answers (4)

aIKid
aIKid

Reputation: 28242

If you just wanted to split the first digits, just slice the string:

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

Demo:

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

You can, split the string at the first \:

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

Upvotes: 1

johnsyweb
johnsyweb

Reputation: 141780

You could solve this using a regular expression:

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'

Upvotes: 0

Maciej Gol
Maciej Gol

Reputation: 15854

If the number can be followed by any kind of character, try using a regex:

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

Upvotes: 2

thefourtheye
thefourtheye

Reputation: 239443

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

Output

50.2000

Upvotes: 2

Related Questions