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

yipeiwu_com6年前Python基础

字符串的替换(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中for循环和while循环的基本使用方法

while循环: while expression: suite_to_repeat while 条件:    语句块 不需要括号哦! >&g...

Python如何发布程序的详细教程

Python如何发布程序的详细教程

如何发布一个Python程序: 1.安装一个pyInstaller 在pycharm里点 file —–>setting—–>Project workspace——>I...

python使用paramiko模块通过ssh2协议对交换机进行配置的方法

该代码用的是paramiko模块,python版本是python2.7 下面上源码 # -*- coding: utf-8 -*- import paramiko import t...

django 环境变量配置过程详解

django 环境变量配置过程详解

刚开始使用django,在创建第一个app时被提示不知道命令runserver,百度得出是环境变量的问题。 1、配置python变量环境,C:\Python27\;C:\Python27...

Python matplotlib的使用并自定义colormap的方法

0.前言 添加colormap的对象是灰度图,可以变成热量图,从而更加明显的发现一些规律,适用于一些雷达图像等 from PIL import Image # 将彩色图片转换成黑白图...