我正在编写一个 python MapReduce 字数统计程序。问题是数据中散布着许多非字母字符,我发现这篇文章 Stripping everything but alphanumeric chars from a string in 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
正确检索没有任何非字母数字字符的新行。
建议?
原文由 KDecker 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用
re.sub
或者,如果您只想删除一组特定的字符(因为撇号在您的输入中可能没问题……)