[Python] ricerca di stringhe in un testo

Pietro peter.zamb a gmail.com
Mer 26 Giu 2013 16:35:10 CEST


2013/6/26 Riccardo mancuso <mancuso.riccardo63 a gmail.com>:
> a.find("via")
>
>>>> 85
>
> come faccio a trovare le altre occorrenze ?


def findall(text, word, max_iterations=100):
    x = 0
    #import ipdb; ipdb.set_trace()
    for _ in range(max_iterations):
        i = text[x:].find(word)
        if i == -1:
            break
        x += i
        yield x
        x += len(word)

for x in findall(text, 'via'): print x

Occhio che trova anche i "via" che sono contenuti all'interno di
parole... tipo "funivia"... e non so se è  quello che vuoi...
dovendo lavorare con il testo io studierei nltk, come ti è già stato
suggerito...

Ciao

Pietro


Maggiori informazioni sulla lista Python