您的位置:首页 > 编程语言 > Python开发

【python cookbook】 替换字符串中的子串

2012-07-25 18:54 816 查看
任务:

给定一个字符串 通过查询一个替换字典 将字符串中被标记的子字符串替换掉

#!/usr/bin/python
# -*- coding: utf-8 -*-

#替换字符串中的子串

def expand(format,d,market='"',safe=False):
if safe:
def lookup(w):
return d.get(w,w.join(marker*2))
else:
def lookup(w):
return d[w]
parts = format.split(marker)
parts[1::2] = map(lookup,parts[1::2])
return ''.join(parts)

if __name__=='__main__':
print expand('just "a" test',{'a':"one"})


当safe = Ture 时要求被标记的字符串应该能在字典中查到 如果查不到 不抛出KetError异常 使用get() 当值不存在时 返回在两边加了标记的被查询的字符串

如果safe = False 时 被标记的字符串如果在字典中查不到 抛出错误

get()的用法

>>> dict1 #空的字典
{}
>>> dict1.get('a') #键‘a’在dict1中不存在,返回none
>>> dict1.get('d1','no1') #default参数给出值'no1',所以返回'no1'
'no1'
>>> dict1['a']='no1' #插入一个新元素
>>> dict1
{'a': '1111'}
>>> dict1.get('a') #现在键'a'存在,返回其值
'1111'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: