re.sub搞定连续特殊字符只保留第一个

数据处理的时候遇到一个问题,比如“春江??*(@花月夜”,想要把它转成“春江?花月夜”,即,只保留一串连续特殊字符中的第一个,用下面正则表达式就可以啦

import re
patten = re.compile(u'([^0-9a-zA-Z\u4e00-\u9fa5])([^0-9a-zA-Z\u4e00-\u9fa5])*',re.UNICODE)
patten.sub(r'\1',str)

好了,晚安

你可能感兴趣的:(re.sub搞定连续特殊字符只保留第一个)