Python translator使用实例


Posted in Python onSeptember 06, 2008

1.string.maketrans设置字符串转换规则表(translation table)

allchars = string.maketrans('', '')#所有的字符串,即不替换字符串 
aTob = string.maketrans('a','b')#将字符a转换为字符b

2.translate函数进行字符串的替换和删除,第一个参数是字符串转换规则表(translation table),第二个参数是要删除的字符串。比如,要将字符串s中的所有e替换为a,同时要删除所有的o

aTob = string.maketrans('e','a') 
s = 'hello python' 
print s.translate(aTob, 'o')

输出结果:
hall pythn

3.假如我们这样使用

allchars = string.maketrans('', '') 
k = allchars.translate(allchars, 'a')

allchars表示所有的字符串,而k表示从所有的字符串中去除掉字符a,就是说所有的字符,除了a,因此,我们再调用如下方法时:
s = 'abc' 
print s.translate(allchars, k)

字面意思是,输出“字符串s中除去任何不是字符a的字符",即,只输出字符a,因此输出结果为:
a

4.现在,已经不难理解下面这个函数了

import string 
def translator(frm='', to='', delete='', keep=None): 
if len(to) == 1: 
to = to * len(frm) 
trans = string.maketrans(frm, to) 
if keep is not None: 
allchars = string.maketrans('', '') 
delete = allchars.translate(allchars, keep.translate(allchars, delete)) 
def translate(s): 
return s.translate(trans, delete)

return translate调用:
digits_only = translator(keep=string.digits) 
print digits_only('Chris Perkins : 224-7992') digits_to_hash = translator(frm=string.digits, to='#') 
print digits_to_hash('Chris Perkins : 224-7992')

输出结果:
2247992
Chris Perkins : ###-####
Python 相关文章推荐
python使用socket连接远程服务器的方法
Apr 29 Python
在Mac OS上部署Nginx和FastCGI以及Flask框架的教程
May 02 Python
Python编程入门的一些基本知识
May 13 Python
在Apache服务器上同时运行多个Django程序的方法
Jul 22 Python
Python之使用adb shell命令启动应用的方法详解
Jan 07 Python
Python Pywavelet 小波阈值实例
Jan 09 Python
Python计算时间间隔(精确到微妙)的代码实例
Feb 26 Python
简单介绍python封装的基本知识
Aug 10 Python
Python文件操作函数用法实例详解
Dec 24 Python
将tf.batch_matmul替换成tf.matmul的实现
Jun 18 Python
python爬虫要用到的库总结
Jul 28 Python
如何用python写个模板引擎
Jan 14 Python
Python 字符串中的字符倒转
Sep 06 #Python
Python  连接字符串(join %)
Sep 06 #Python
Python strip lstrip rstrip使用方法
Sep 06 #Python
Python ljust rjust center输出
Sep 06 #Python
Python isinstance判断对象类型
Sep 06 #Python
Python字符转换
Sep 06 #Python
Python字符遍历的艺术
Sep 06 #Python
You might like
PHP定时自动生成静态HTML的实现代码
2010/06/20 PHP
PHP扩展mcrypt实现的AES加密功能示例
2019/01/29 PHP
js验证表单第二部分
2006/11/25 Javascript
用JavaScript仿PS里的羽化效果代码
2011/12/20 Javascript
Jquery动态进行图片缩略的原理及实现
2013/08/13 Javascript
js的alert弹出框出现乱码解决方案
2013/09/02 Javascript
从JQuery源码分析JavaScript函数的apply方法与call方法
2014/09/25 Javascript
angularJS结合canvas画图例子
2015/02/09 Javascript
在JavaScript中操作时间之setYear()方法的使用
2015/06/12 Javascript
JavaScript对象属性检查、增加、删除、访问操作实例
2015/07/08 Javascript
js中的内部属性与delete操作符介绍
2015/08/10 Javascript
JS实现自动变换的菜单效果代码
2015/09/09 Javascript
JS面向对象编程详解
2016/03/06 Javascript
jQuery实现的导航动画效果(附demo源码)
2016/04/01 Javascript
老生常谈JavaScript数组的用法
2016/06/10 Javascript
jQuery中$.grep() 过滤函数 数组过滤
2016/11/22 Javascript
详解NodeJs支付宝移动支付签名及验签
2017/01/06 NodeJs
vue-loader中引入模板预处理器的实现
2019/09/04 Javascript
原生JS实现记忆翻牌游戏
2020/07/31 Javascript
vue中是怎样监听数组变化的
2020/10/24 Javascript
[49:21]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第二场 11.05
2020/11/06 DOTA
Python while、for、生成器、列表推导等语句的执行效率测试
2015/06/03 Python
python2.7实现FTP文件下载功能
2018/04/15 Python
Python设置在shell脚本中自动补全功能的方法
2018/06/25 Python
python实现基于信息增益的决策树归纳
2018/12/18 Python
Python中栈、队列与优先级队列的实现方法
2019/06/30 Python
使用python os模块复制文件到指定文件夹的方法
2019/08/22 Python
pip install命令安装扩展库整理
2021/03/02 Python
Origins加拿大官网:雅诗兰黛集团高端植物护肤品牌
2017/11/19 全球购物
安全生产中长期规划实施方案
2014/02/21 职场文书
财务部绩效考核方案
2014/05/04 职场文书
2014年公务员工作总结
2014/11/18 职场文书
纪检监察立案决定书
2015/06/24 职场文书
2015领导干部廉洁自律工作总结
2015/07/23 职场文书
七年级之家长会发言稿范文
2019/09/04 职场文书
【海涛教你打dota】体验一超神发条:咱是抢盾专业户
2022/04/01 DOTA