re.sub 实现多处替换

1   | 表示或的意思

将所有字母替换掉

result_content = re.sub('a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z','',result_content)

2  将每种替换放在小括号中,最后放在中括号中

将& \ / ;四个符合替换

result_content = re.sub(r'[(&)(\)(/)(;)]','',result_content)

3  按字典替换

#encoding=utf-8
print '中国'
 
# 一次完成多个字符串替换
#利用正则表达式re的sub方法
 
import re
def multiple_replace(text,adict):
    rx = re.compile('|'.join(map(re.escape,adict)))
    def one_xlat(match):
        return adict[match.group(0)]
    return rx.sub(one_xlat,text) #每遇到一次匹配就会调用回调函数
 
#把key做成了 |分割的内容,也就是正则表达式的OR
map1={'1':'2','3':'4',}
print '|'.join(map(re.escape,map1))
 
str='1133'
print multiple_replace(str,map1)

 参考:https://blog.csdn.net/huludan/article/details/50925735

 

posted @ 2018-12-14 21:05  快乐多巴胺  阅读(2520)  评论(0编辑  收藏  举报