博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python cookbook学习笔记[一次完成多个字符串的替换]
阅读量:7070 次
发布时间:2019-06-28

本文共 476 字,大约阅读时间需要 1 分钟。

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)
print multiple_replace('abc123erts',{'a':'A','b':'B'})

基本原理是  我们把要替换的字符串作为某个字典的key,对应的要替换成的字符串作为它的value

用|号连接每个key,利用re模块的compile方法生成正则,然后调用sub(注意是调用rx的sub,而不是re模块)方法进行替换,这里给sub方法传入一个回调函数one_xlat,

每次匹配到替换的字符串时便调用该函数,返回字典里对应的值从而实现了一次完成多个字符串的替换!

转载于:https://www.cnblogs.com/hust/archive/2011/08/09/2131820.html

你可能感兴趣的文章
JimStoneAjax使用ANT或者Maven等自动部署工具编译时需要添加debug参数
查看>>
【自用】 Python 信息熵 信息增益
查看>>
Java中BigDecimal的应用
查看>>
DataGrid的itemreader中使用outerDocument
查看>>
理解 JavaScript 的函数
查看>>
面试题之总结-大数运算
查看>>
我们为什么要使用NOSQL非关系数据库?
查看>>
【转载】QPS、PV 、RT(响应时间)之间的关系
查看>>
PHPdom操作查找xml标签文本
查看>>
git多个公钥
查看>>
java基础
查看>>
idea在window10 快捷键的坑
查看>>
算法编程题
查看>>
读书笔记(二)Java中值传递、引用传递理解
查看>>
多级联动代码示例-数据为数组
查看>>
Java媒体框架(JMF),个人很欣赏.... (转)
查看>>
将一个php的一个查询代码改成go语言
查看>>
[转]Java大数据量导出Excel的问题
查看>>
学习emoji
查看>>
服务器端物理实现(三)
查看>>