Я пишу программу подсчета слов MapReduce на Python. Проблема в том, что в данных разбросано много не алфавитных символов, я нашел этот пост Удаление всего, кроме буквенно-цифровых символов из строки в 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), я перехожу слово в слово, а не символ за символом. Поэтому некоторые слова могут иметь в конце «унижение», поэтому «унижение» не сочетается с «унижением».