Python中的字符串替换操作示例


Posted in Python onJune 27, 2016

字符串的替换(interpolation), 可以使用string.Template, 也可以使用标准字符串的拼接.
string.Template标示替换的字符, 使用"$"符号, 或 在字符串内, 使用"${}"; 调用时使用string.substitute(dict)函数.
标准字符串拼接, 使用"%()s"的符号, 调用时, 使用string%dict方法.
两者都可以进行字符的替换.

代码:

# -*- coding: utf-8 -*- 
 
import string 
 
values = {'var' : 'foo'} 
 
tem = string.Template(''''' 
Variable : $var 
Escape : $$ 
Variable in text : ${var}iable 
''') 
 
print 'TEMPLATE:', tem.substitute(values) 
 
str = ''''' 
Variable : %(var)s 
Escape : %% 
Variable in text : %(var)siable 
''' 
 
print 'INTERPOLATION:', str%values

输出:

TEMPLATE:  
Variable : foo 
Escape : $ 
Variable in text : fooiable 
 
INTERPOLATION:  
Variable : foo 
Escape : % 
Variable in text : fooiable

连续替换(replace)的正则表达式(re)
字符串连续替换, 可以连续使用replace, 也可以使用正则表达式.
正则表达式, 通过字典的样式, key为待替换, value为替换成, 进行一次替换即可.

代码

# -*- coding: utf-8 -*-

import re

my_str = "(condition1) and --condition2--"
print my_str.replace("condition1", "").replace("condition2", "text")

rep = {"condition1": "", "condition2": "text"}
rep = dict((re.escape(k), v) for k, v in rep.iteritems())
pattern = re.compile("|".join(rep.keys()))
my_str = pattern.sub(lambda m: rep[re.escape(m.group(0))], my_str)

print my_str

输出:

() and --text--
() and --text--
Python 相关文章推荐
pymongo实现多结果进行多列排序的方法
May 16 Python
Python实现读取文件最后n行的方法
Feb 23 Python
Python实现查找匹配项作处理后再替换回去的方法
Jun 10 Python
Python绑定方法与非绑定方法详解
Aug 18 Python
基于Python socket的端口扫描程序实例代码
Feb 09 Python
浅谈python 导入模块和解决文件句柄找不到问题
Dec 15 Python
pandas修改DataFrame列名的实现方法
Feb 22 Python
Python socket模块实现的udp通信功能示例
Apr 10 Python
Django框架实现的分页demo示例
May 25 Python
对PyQt5中的菜单栏和工具栏实例详解
Jun 20 Python
python实现的分层随机抽样案例
Feb 25 Python
如何在C++中调用Python
May 21 Python
Python的string模块中的Template类字符串模板用法
Jun 27 #Python
Python的Flask框架及Nginx实现静态文件访问限制功能
Jun 27 #Python
总结网络IO模型与select模型的Python实例讲解
Jun 27 #Python
结合Python的SimpleHTTPServer源码来解析socket通信
Jun 27 #Python
Python的Tornado框架的异步任务与AsyncHTTPClient
Jun 27 #Python
深入解析Python中的descriptor描述器的作用及用法
Jun 27 #Python
Python中的字符串查找操作方法总结
Jun 27 #Python
You might like
《OVERLORD》第四季,终于等到你!
2020/03/02 日漫
[转帖]PHP世纪万年历
2006/12/06 PHP
windows7下安装php的imagick和imagemagick扩展教程
2014/07/04 PHP
Thinkphp将二维数组变为标签适用的一维数组方法总结
2014/10/30 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
2018/02/11 PHP
javascript 限制输入和粘贴(IE,firefox测试通过)
2008/11/14 Javascript
window.opener用法和用途实例介绍
2013/08/19 Javascript
jQuery中focus事件用法实例
2014/12/26 Javascript
JS基于FileSystemObject创建一个指定路径的TXT文本文件
2015/08/05 Javascript
微信小程序 弹框和模态框实现代码
2017/03/10 Javascript
浅谈react.js 之 批量添加与删除功能
2017/04/17 Javascript
vue脚手架搭建过程图解
2018/06/06 Javascript
微信小程序实现选项卡效果
2018/11/06 Javascript
JQuery常见节点操作实例分析
2019/05/15 jQuery
详解JavaScript原型与原型链
2020/11/16 Javascript
如何在JavaScript中使用localStorage详情
2021/02/04 Javascript
[07:48]DOTA2上海特级锦标赛主赛事首日RECAP
2016/03/04 DOTA
[01:01]青春无憾,一战成名——DOTA2全国高校联赛开启
2018/02/25 DOTA
PYTHON正则表达式 re模块使用说明
2011/05/19 Python
python使用urllib2提交http post请求的方法
2015/05/26 Python
使用Python绘制图表大全总结
2017/02/11 Python
解决Python requests 报错方法集锦
2017/03/19 Python
Django+JS 实现点击头像即可更改头像的方法示例
2018/12/26 Python
python 函数中的内置函数及用法详解
2019/07/02 Python
Python pandas RFM模型应用实例详解
2019/11/20 Python
Python标准库itertools的使用方法
2020/01/17 Python
金讯Java笔试题目
2013/06/18 面试题
sleep()方法和wait()方法的区别是什么
2012/11/17 面试题
大学运动会入场词
2014/02/22 职场文书
护士长竞聘书
2014/03/31 职场文书
生态养殖创业计划书
2014/05/06 职场文书
四风问题民主生活会对照检查材料思想汇报
2014/09/27 职场文书
党的群众路线教育实践活动批评与自我批评发言稿
2014/10/16 职场文书
横空出世观后感
2015/06/09 职场文书
如何使用PyCharm及常用配置详解
2021/06/03 Python
游戏《铁拳》动画化!2022年年内播出
2022/03/21 日漫