Python中的字符串替换操作示例
Python中的字符串替换操作示例
发布时间:2016-12-28 来源:查字典编辑
摘要:字符串的替换(interpolation),可以使用string.Template,也可以使用标准字符串的拼接.string.Templat...

字符串的替换(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学习
脚本专栏子分类