【发布时间】:2014-04-26 14:06:01
【问题描述】:
我正在编写一个 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 以检索没有任何非字母数字字符的新行。
建议?
【问题讨论】:
-
v是一本书的整行(特别是白鲸),我将逐字逐句地阅读。所以有些词的结尾可能有一个“,”,所以“indignity”不会与“indignity”对应。 -
Lolx - 你有和我一样的面试前家庭练习吗?在 Moby Dick 中找到 50 个最常用的词并报告它们的频率。我是用 C++ 做的,IIRC
-
@Mawg 这是我本科“云计算”课上的一个练习。