[Python] ricerca di stringhe in un testo

Lorenzo Sutton lorenzofsutton a gmail.com
Mer 26 Giu 2013 20:02:02 CEST


On 26/06/13 19:57, Lorenzo Sutton wrote:
> On 26/06/13 15:22, Riccardo mancuso wrote:
>> ciao a tutti,
>> vi propongo questo problema (premesso che io non ci sono riuscito).
>> Devo trovare in quali punti sono presenti dei termini all'interno di una
>> frase.
>> Ad esempio, prendendo il primo canto dell'inferno:
>>
>> "
>>
>> Nel mezzo del cammin di nostra vita
> [...]
>
>>
>> se voglio cercare la parola "via" essa sarà presente alla 3° ed alla
>> 12° riga.
>>
>> Come posso effettuare la ricerca con python ?
>>
>> va bene, al posto della riga, anche la posizione vettoriale assoluta
>> (tenendo condo che il primo carattere ha posizione 0, il secondo 1 e
>> così via).
>
> Forse anche con le regexp? Qualcosa come..
>
>  >>> a = 'via del campo, aviatore, viatico, via paolo fabbri, la diritta
> via, vada via...'
>  >>> import re
>  >>> for m in re.finditer(r"\bvia\b", a):
> ...     print m.start(),m.end()
> ...
> ...
> 0 3
> 34 37
> 63 66
> 73 76
>
> Lorenzo

PS: Partita troppo presto... preso dalla documentazione python: 
http://docs.python.org/2/library/re.html (credit where due :)




Maggiori informazioni sulla lista Python