Iterieren durch ein String-Wort auf einmal in Python

Ich habe einen String-Puffer einer riesigen Textdatei. Ich muss bestimmte Wörter / Phrasen im Zeichenfolgenpuffer suchen. Was ist der effiziente Weg, um es zu tun?

Ich habe versucht, Re-Modul-Übereinstimmungen zu verwenden. Aber da ich ein riesiges Textkorpus habe, muss ich es durchsuchen. Dies nimmt viel Zeit in Anspruch.

Gegeben ein Wörterbuch der Wörter und Sätze.

Ich durchlaufe jede Datei, lese sie in einer Zeichenfolge, suche alle Wörter und Ausdrücke im Wörterbuch und erhöhe die Anzahl im Wörterbuch, wenn die Schlüssel gefunden werden.

Eine kleine Optimierung, die wir dachten, war das Sortieren des Wörterbuchs der Phrasen / Wörter mit der maximalen Anzahl der Wörter auf die niedrigste. Vergleichen Sie dann jede Wortstartposition aus dem Zeichenfolgenpuffer und vergleichen Sie die Liste der Wörter. Wenn ein Ausdruck gefunden wird, suchen wir nicht nach den anderen Ausdrücken (da er mit dem längsten übereinstimmt, was wir wollen)

Kann jemand vorschlagen, wie man Wort für Wort im Zeichenfolgenpuffer vorgeht. (String-Puffer wortweise durchlaufen lassen)?

Auch gibt es eine andere Optimierung, die auf diesem gemacht werden kann?

data = str(file_content)
for j in dictionary_entity.keys():
    cnt = data.count(j+" ")
    if cnt != -1:
        dictionary_entity[j] = dictionary_entity[j] + cnt
f.close()

Antworten auf die Frage(16)

Ihre Antwort auf die Frage