python中用正则表达式去掉文本中所有的标点符号

目前的做法是:line=re.sub(r'[{}]+'.format(punctuation),'',line)但是这样不能够将标点符号去除完全,比如python’s中的... 目前的做法是:

line=re.sub(r'[{}]+'.format(punctuation),'',line)
但是这样不能够将标点符号去除完全,比如python’s中的“ ’ ”就不能被去掉,请问该怎么做?
展开
 我来答
快乐V美天
推荐于2017-12-16 · TA获得超过132个赞
知道答主
回答量:29
采纳率:0%
帮助的人:31.7万
展开全部

我的理解是  python’s的“ ’ ”也是字符 ,和标点符号一样。你只要把去除的字符都加到正则表达式的括号中就可以了。 ,所以:

import re

r='[’!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~]+'

line=re.sub(r,'',"python’s")

print line

束林089
2018-03-31 · TA获得超过7453个赞
知道小有建树答主
回答量:73
采纳率:93%
帮助的人:1.7万
展开全部

先定义变量 punctuation,其内容应该是所有的标点符号。

例如:import repunctuation def removePunctuation...

Python是一种面向对象、直译式计算机程序设计语言,由荷兰人Guido van Rossum发明于1989年,1991年发行第一个公开发行版。它常被昵称为胶水语言,它能够很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松地联结在一起。

Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL协议。语法简洁清晰,特色之一是强制用空白符作为语句缩进。名字来源于一个喜剧,最初设计Python这种语言的人并没有想到Python会在工业和科研上获得如此广泛的使用。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hjuj_91
2015-01-04 · TA获得超过328个赞
知道小有建树答主
回答量:180
采纳率:0%
帮助的人:147万
展开全部
line.translate(None,punctuation)
追问
报错:
translate() takes exactly one argument (2 given)
追答

python啥版本。。line是string?


看文档https://docs.python.org/2/library/stdtypes.html#str.translate



unicode 真麻烦。。上了次stackoverflow才找到。。。



import unicodedata
import sys

tbl = dict.fromkeys(i for i in xrange(sys.maxunicode)
                      if unicodedata.category(unichr(i)).startswith('P'))
def remove_punctuation(text):
    return text.translate(tbl)
    
    
#你爽了直接 remove_punctuation(line)
#或者屌屌的这样:
import regex as re

def remove_punctuation(text):
    return re.sub(ur"\p{P}+", "", text)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式