[Python] stip nome file da stringa

Massimiliano della Rovere massimiliano.dellarovere a gmail.com
Lun 5 Set 2011 16:38:46 CEST


se la stringa che ti serve č l'unica che contiene un punto potresti usare:
>>> re.search(r'\b(?P<stringa>\w+\.\w+)\b', x).groupdict()
{'stringa': 'disco.raw'}

skype: masdero, icq: 473891447, yim: mas_dero, msn: mas_dero a hotmail.com
------------
Mi scriva in italiano; Write me in English; Skribu al mi Esperante!



2011/9/5 Marco Bizzarri <marco.bizzarri a gmail.com>:
> Io ti suggerirei:
>
> import re
>
> x = '-drive file=/mnt/dat/disco.raw,cache=none'
> y = '-hdb /mnt/dat/disco.raw'
>
> m = re.compile(r'(([^/]*/)+)([^.]*\.raw)')
>
> print m.match(x).groups()[2]
> print m.match(y).groups()[2]
>
> ma non so se sia un overkill; stasera riprendo Mastering regular expressions
> e vedo se ci sono soluzioni pių carine ;)
>
> 2011/9/5 Valerio Pachera <sirio81 a gmail.com>
>>
>> immaginiamo di avere queste stringhe
>>
>> '-drive file=/mnt/dat/disco.raw,cache=none'
>> '-hdb /mnt/dat/disco.raw'
>>
>> e di voler estrarre "disco.raw" ovvero la stringa che continene
>> finisce con .raw e inizia dopo il primo slash.
>>
>> Ho letto un po' di manuale delle regex e ho provato questo:
>>
>> p = re.compile('/.*\.raw')
>> print p.search(disco).group()
>>
>> che ci va vicini, sono che riporta tutto in path, ovvero
>> /mnt/dati/disco.raw.
>>
>> Voi come fareste?
>> _______________________________________________
>> Python mailing list
>> Python a lists.python.it
>> http://lists.python.it/mailman/listinfo/python
>
>
>
> --
> Marco Bizzarri
> http://code.google.com/p/qt-asterisk/
> http://notenotturne.blogspot.com/
> http://iliveinpisa.blogspot.com/
>
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
>


Maggiori informazioni sulla lista Python