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

Regex to replace chinese punctuation with English comma in Python

对于中文单词:上海,北京、武汉;重庆。欢迎你!你好,我要替换中文标点符号 带逗号,我怎样才能在 Python?

中使用正则表达式

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

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

输出:

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

使用 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 ])