我想把一些包含一些标点符号和全角符号的文本转换成纯中文文本。
maybe_re = re.compile("xxxxxxxxxxxxxxxxx") #TODO
print "".join(maybe_re.findall("你好,这只是一些中文文本..,.,全角"))
# I want out
你好这只是一些中文文本全角发布于 2011-08-02 19:40:15
我不知道有什么好方法来区分汉字和其他字母,但你可以把字母和其他字符区分开来。通过使用正则表达式,您可以使用r"\w" (如果使用Python2,则使用re.UNICODE标志进行编译)。
unicodedata.category(c)会告诉你c是什么类型的字符。您的中文字母是"Lo“(字母不区分大小写),而标点符号是"Po”。
发布于 2013-05-29 23:04:11
Zhon库为您提供了一个中文标点符号列表:https://pypi.python.org/pypi/zhon
str = re.sub('[%s]' % zhon.unicode.PUNCTUATION, "", "你好,这只是一些中文文本..,.,全角")这几乎就是您想要的结果。不完全是,因为您提供的句子包含一些非常不标准的标点符号,例如“.”。无论如何,我认为Zhon可能会对其他有类似问题的人有用。
https://stackoverflow.com/questions/6910312
复制相似问题