文本处理(python)

1.正则表达式

  • 保留汉字、数字、英文单词
regex = re.compile(ur"[^\u4e00-\u9f5aa-zA-Z0-9]")
s=u'hello我是,,,中国人'
s = regex.sub('', s) #将不满足要求的字符替换成空字符
  • map
    map(function, sequence[, sequence, …]) -> list:将序列通过function进行映射,将映射结果组合成序列
def etl(s): #remove 标点和特殊字符
    s = regex.sub('', s)
    return s
map(etl,jieba.cut(str_line, cut_all=False))
#返回进行结巴分词,并替换无用字符和符号为空字符串后的分词结果
  • filter
    filter(function or None, sequence) -> list, tuple, or string: 将序列通过function进行过滤,结果包含函数返回为true的元素
filter(lambda x: len(x) > 0, map(etl, jieba.cut(data, cut_all=False)))
#在分词结果中的无用字符替换成指定字符,并过滤掉指定字符
  • reduce
    reduce( func, seq[, init] ):每次迭代,将上一次的迭代结果(第一次时为init的元素,如没有init则为seq的第一个元素)与下一个元素一同执行一个二元的func函数。在reduce函数中,init是可选的,如果使用,则作为第一次迭代的第一个元素使用。
print reduce(lambda x, y: x * y, range(1, n + 1))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值