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 相关文章推荐
python中bisect模块用法实例
Sep 25 Python
Python XML RPC服务器端和客户端实例
Nov 22 Python
python+mongodb数据抓取详细介绍
Oct 25 Python
Python logging管理不同级别log打印和存储实例
Jan 19 Python
Python面向对象class类属性及子类用法分析
Feb 02 Python
Python实现读写INI配置文件的方法示例
Jun 09 Python
django+xadmin+djcelery实现后台管理定时任务
Aug 14 Python
python3实现elasticsearch批量更新数据
Dec 03 Python
Python彻底删除文件夹及其子文件方式
Dec 23 Python
Django中如何用xlwt生成表格的方法步骤
Jan 31 Python
python常量折叠基础知识点讲解
Feb 28 Python
Python如何使用logging为Flask增加logid
Mar 30 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
ThinkPHP3.1新特性之对分组支持的改进与完善概述
2014/06/19 PHP
PHP自带函数给数字或字符串自动补齐位数
2014/07/29 PHP
PHP简单实现DES加密解密的方法
2016/07/12 PHP
自制PHP框架之模型与数据库
2017/05/07 PHP
表单切换,用回车键替换Tab健(不支持IE)
2011/07/20 Javascript
浅谈javascript的原型继承
2012/07/25 Javascript
利用JS判断用户是否上网(连接网络)
2013/12/23 Javascript
JavaScript字符串对象charAt方法入门实例(用于取得指定位置的字符)
2014/10/17 Javascript
JavaScript数据结构和算法之图和图算法
2015/02/11 Javascript
JS实现窗口加载时模拟鼠标移动的方法
2015/06/03 Javascript
JavaScript如何调试有哪些建议和技巧附五款有用的调试工具
2015/10/28 Javascript
完美解决IE不支持Data.parse()的问题
2016/11/24 Javascript
BootStrap栅格系统、表单样式与按钮样式源码解析
2017/01/20 Javascript
JavaScript 字符串数字左补位,右补位,取固定长度,截位扩展函数代码
2017/03/25 Javascript
Bootstrap与Angularjs的模态框实例代码
2017/08/03 Javascript
react-native DatePicker日期选择组件的实现代码
2017/09/12 Javascript
javascript数据结构之多叉树经典操作示例【创建、添加、遍历、移除等】
2018/08/01 Javascript
[51:00]Secret vs VGJ.S 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例
2017/08/31 Python
Python元组及文件核心对象类型详解
2018/02/11 Python
python numpy格式化打印的实例
2018/05/14 Python
解决seaborn在pycharm中绘图不出图的问题
2018/05/24 Python
python中多个装饰器的执行顺序详解
2018/10/08 Python
Python闭包思想与用法浅析
2018/12/27 Python
Python读取指定日期邮件的实例
2019/02/01 Python
python障碍式期权定价公式
2019/07/19 Python
python3中rank函数的用法
2019/11/27 Python
Pytorch实现LSTM和GRU示例
2020/01/14 Python
《回乡偶书》教学反思
2014/04/12 职场文书
公司节能减排方案
2014/05/16 职场文书
财务工作检讨书
2014/10/29 职场文书
2015最新学生自我评价范文
2015/03/03 职场文书
麦田里的守望者读书笔记
2015/06/30 职场文书
大学迎新生的欢迎词
2019/06/25 职场文书
MySQL表的增删改查基础教程
2021/04/07 MySQL
windows系统安装配置nginx环境
2022/06/28 Servers