正则表达式用Python中的英文逗号替换中文标点符号

时间:2019-07-05 03:14:03

标签: python regex punctuation

对于中文单词:上海,北京、武汉;重庆。欢迎你!你好,我要替换中文标点符号 用逗号,如何在Python中使用正则表达式呢?

2 个答案:

答案 0 :(得分:2)

使用re模块的一种方法

import re
str='上海,北京、武汉;重庆。欢迎你!你好'
s = re.sub(r'[^\w\s]',',',str)
print(s)

输出:

上海,北京,武汉,重庆,欢迎你,你好

说明

[^\w\s]-匹配下面列表中出现的单个字符-

1. \w matches any word character (equal to [a-zA-Z0-9_])
2. \s matches any whitespace character (equal to [\r\n\t\f\v ])

答案 1 :(得分:0)

这是我的解决方法,但是还有一个感叹号:

strings = "上海,北京、武汉;重庆。欢迎你!你好"    
punc = "[\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b]"
string = re.sub(punc, ",", strings)
print(string)

输出:

上海,北京,武汉,重庆,欢迎你!你好