【python cookbook】 替换字符串中的子串
2012-07-25 18:54
816 查看
任务:
给定一个字符串 通过查询一个替换字典 将字符串中被标记的子字符串替换掉
当safe = Ture 时要求被标记的字符串应该能在字典中查到 如果查不到 不抛出KetError异常 使用get() 当值不存在时 返回在两边加了标记的被查询的字符串
如果safe = False 时 被标记的字符串如果在字典中查不到 抛出错误
get()的用法
给定一个字符串 通过查询一个替换字典 将字符串中被标记的子字符串替换掉
#!/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'
相关文章推荐
- 【python cookbook】替换字符串中的子串(使用Template)
- python cookbook第三版学习笔记四:文本以及字符串令牌解析
- 基于《PythonCookbook》的学习(5)—— 查找和替换文本
- python字符串的操作——python cookbook
- 基于《PythonCookbook》的学习(2)——在字符串的卡头或结尾做文本匹配
- 【python cookbook】 检查字符串中是否包含某自符集合中的字符
- python cookbook 读书笔记3(字符串处理3)
- python cookbook 学习笔记 -- 1.3 测试一个对象是否是类字符串
- python字符串的操作——python cookbook
- Python3.4-文本-替换字符串中的子串
- python cookbook第三版学习笔记三:列表以及字符串
- 【python cookbook】简化字符串的translate 方法的使用
- Python Cookbook 第二版 汉化版 [Recipe 1.5] 去除字符串末尾的空格
- Python Cookbook 第二版 汉化版 [Recipe 1.1] 逐个处理字符串中的各个字符
- python替换字符串中的子串 %(xxxx)s
- Python Cookbook 第二版 汉化版 [Recipe 1.6] 字符串的组合
- 【python cookbook】python访问子字符串
- python cookbook 学习笔记 -- 1.4 字符串对齐
- python cookbook 学习笔记 -- 1.8 检查字符串中是否包含某字符集合中的字符
- 基于《PythonCookbook》的学习(6)——以不区分大小写的方式对文本做查找和替换