Ich schreibe ein Python MapReduce-Wortzählprogramm. Das Problem ist, dass in den Daten viele Nicht-Alphabet-Zeichen verstreut sind. Ich habe diesen Beitrag gefunden. Ich habe alles außer alphanumerischen Zeichen aus einer Zeichenfolge in Python entfernt, die eine gute Lösung mit Regex zeigt, aber ich bin nicht sicher, wie ich sie implementieren soll
def mapfn(k, v):
print v
import re, string
pattern = re.compile('[\W_]+')
v = pattern.match(v)
print v
for w in v.split():
yield w, 1
Ich fürchte, ich bin mir nicht sicher, wie ich die Bibliothek re
oder sogar den regulären Ausdruck verwenden soll. Ich bin nicht sicher, wie ich das Regex-Muster v
richtig auf die eingehende Zeichenfolge (Zeile eines Buches) anwenden soll , um die neue Zeile ohne nicht alphanumerische Zeichen abzurufen.
Vorschläge?
v
ist eine ganze Zeile eines Buches (speziell Moby Dick), ich gehe Wort für Wort, nicht Char für Char. Einige Wörter haben möglicherweise ein "," am Ende, so dass "Empörung" nicht mit "Empörung" übereinstimmt.