Extract a number from a complicated string

Bruno Desthuilliers bruno.42.desthuilliers at wtf.websiteburo.oops.com
Fri Dec 21 08:14:45 EST 2007


Horacius ReX a écrit :
> Hi,
> 
> I have to read some data from a file, and on each block it always
> appears the followng string; xyz.vs.1-81_1 . It appears a lot of time
> with different numbers like;
> 
> xyz.vs.1-81_1
> xyz.vs.1-1234_1
> xyz.vs.1-56431_1
> 
> and so on
> 
> My problem is that I need to extract from this string the number. For
> instance in xyz.vs.1-81_1 I have to extract the number 81, and in
> xyz.vs.1-1234_1 I need to get the number 1234.
> 
> What is the easiest way of doing this ?

Not necessarily the "easiest", but:


>>> data = ['xyz.vs.1-81_1', 'xyz.vs.1-1234_1', 'xyz.vs.1-56431_1']
>>> for d in data:
...     print d, ":", d.split('.')[2].split('-')[1].split('_')[0]
...
xyz.vs.1-81_1 : 81
xyz.vs.1-1234_1 : 1234
xyz.vs.1-56431_1 : 56431





More information about the Python-list mailing list