[Python] ricerca di stringhe in un testo

a.cavallo a cavallinux.eu a.cavallo a cavallinux.eu
Mer 26 Giu 2013 15:31:33 CEST


comincerei con il cercare le linee in questo modo:

key = "via"
result = { key: [], }

for lineno, line in open("<il nome del file>", "rU"):
    ... lineno e' ilnumero di linea e line contiene la linea
    if line.find(key) != -1:
        result[key].append(lineno)

Penso che se lavori con del testo una librereia interessante e' 
http://nltk.org




On 2013-06-26 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 allinterno di
> una frase.
> Ad esempio, prendendo il primo canto dellinferno:
>
> "
>
> Nel mezzo del cammin di nostra vita
> mi ritrovai per una selva oscura
> ché la diritta via era smarrita.
> Ahi quanto a dir qual era è cosa dura
> esta selva selvaggia e aspra e forte
> che nel pensier rinova la paura!
> Tantè amara che poco è più morte;
> ma per trattar del ben chi vi trovai,
> dirò de laltre cose chi vho scorte.
> Io non so ben ridir comi vintrai,
> tantera pien di sonno a quel punto
> che la verace via abbandonai.
> Ma poi chi fui al piè dun colle giunto,
> là dove terminava quella valle
> che mavea di paura il cor compunto,
> guardai in alto, e vidi le sue spalle
> vestite già de raggi del pianeta
> che mena dritto altrui per ogne calle.
> Allor fu la paura un poco queta
> che nel lago del cor mera durata
> la notte chi passai con tanta pieta.
> E come quei che con lena affannata
> uscito fuor del pelago a la riva
> si volge a lacqua perigliosa e guata,
> così lanimo mio, chancor fuggiva,
> si volse a retro a rimirar lo passo
> che non lasciò già mai persona viva."
>
> 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).
>
> In sostanza alla fine vorrei avere un dizionario/vettore, con
> lindicazione della posizione di cui sopra.
>
> Grazie in anticipo.



Maggiori informazioni sulla lista Python