Tôi đang viết một chương trình đếm từ bằng Python MapReduce. Vấn đề là có nhiều ký tự không phải bảng chữ cái nằm rải rác trong dữ liệu, tôi đã tìm thấy bài đăng này Tách mọi thứ trừ các ký tự chữ và số khỏi một chuỗi trong Python cho thấy một giải pháp hay bằng cách sử dụng regex, nhưng tôi không chắc chắn cách triển khai nó
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
Tôi e rằng tôi không chắc chắn về cách sử dụng thư viện re
hoặc thậm chí regex cho vấn đề đó. Tôi không chắc chắn cách áp dụng mẫu regex cho chuỗi đến (dòng sách) v
đúng cách để truy xuất dòng mới mà không có bất kỳ ký tự không phải chữ và số nào.
Gợi ý?
v
là toàn bộ một dòng của một cuốn sách (cụ thể là moby dick), tôi đang nói từng từ một chứ không phải char bởi char. Vì vậy, một số từ có thể có dấu "," ở cuối để "indignity" không liên kết với "indignity".