Saya sedang menulis program penghitungan kata MapReduce python. Masalahnya adalah bahwa ada banyak karakter non-alfabet berserakan dalam data, saya telah menemukan posting ini Menghapus semuanya kecuali karakter alfanumerik dari string dengan Python yang menunjukkan solusi yang bagus menggunakan regex, tetapi saya tidak yakin bagaimana cara menerapkannya
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
Saya khawatir saya tidak yakin bagaimana menggunakan perpustakaan re
atau bahkan regex dalam hal ini. Saya tidak yakin bagaimana menerapkan pola regex ke string masuk (baris buku) v
dengan benar untuk mengambil baris baru tanpa karakter non-alfanumerik.
Saran?
v
adalah keseluruhan baris dari sebuah buku (khususnya moby dick), saya akan kata demi kata bukan karakter demi karakter. Jadi beberapa kata mungkin memiliki "," pada akhirnya jadi "penghinaan," tidak dipetakan dengan "penghinaan".