Я пишу програму підрахунку слів MapReduce. Проблема полягає в тому, що в даних є багато символів, не пов’язаних з алфавітом, я знайшов цю публікацію Видалення з рядка в Python всього, крім буквено-цифрових символів, що показує гарне рішення за допомогою регулярного виразу, але я не впевнений, як це реалізувати
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
Боюсь, я не впевнений, як користуватися бібліотекою reчи навіть регулярним виразом з цього приводу. Я не впевнений, як правильно застосувати шаблон регулярного виразу до вхідного рядка (рядок книги), vщоб отримати новий рядок без будь-яких буквено-цифрових символів.
Пропозиції?
vце цілий рядок книги (зокрема, moby dick), я йду слово за словом, а не знак за символом. Отже, деякі слова можуть мати знак "," в кінці, тому "гідність" не відображається з "гідність".