Один способ сделать с 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 ])