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中的__slots__使用示例
Feb 26 Python
用Python从零实现贝叶斯分类器的机器学习的教程
Mar 31 Python
Python基本语法经典教程
Mar 11 Python
详解Python中的__new__、__init__、__call__三个特殊方法
Jun 02 Python
Python多层嵌套list的递归处理方法(推荐)
Jun 08 Python
python实现发送邮件功能代码
Dec 14 Python
python 通过 socket 发送文件的实例代码
Aug 14 Python
python 处理string到hex脚本的方法
Oct 26 Python
python将一个英文语句以单词为单位逆序排放的方法
Dec 20 Python
Python 使用元类type创建类对象常见应用详解
Oct 17 Python
如何用python 操作zookeeper
Dec 28 Python
宝塔更新Python及Flask项目的部署
Apr 11 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
第三节--定义一个类
2006/11/16 PHP
批量获取memcache值并按key的顺序返回的实现代码
2011/06/14 PHP
php缩小png图片不损失透明色的解决方法
2013/12/25 PHP
PHP Class SoapClient not found解决方法
2018/01/20 PHP
Laravel 创建可以传递参数 Console服务的例子
2019/10/14 PHP
使用EXT实现无刷新动态调用股票信息
2008/11/01 Javascript
初窥JQuery-Jquery简介 入门了解篇
2010/11/25 Javascript
JQuery验证工具类搜集整理
2013/01/16 Javascript
使用JS 清空File控件的路径值
2013/07/08 Javascript
Jquery easyui开启行编辑模式增删改操作
2016/01/14 Javascript
JS模仿腾讯图片站的图片翻页按钮效果完整实例
2016/06/21 Javascript
浅谈js控制li标签排序问题 js调用php函数的方法
2016/10/16 Javascript
JavaScript利用正则表达式替换字符串中的内容
2016/12/12 Javascript
js 作用域和变量详解
2017/02/16 Javascript
QRCode.js:基于JQuery的生成二维码JS库的使用
2017/06/23 jQuery
详解在Vue中有条件地使用CSS类
2017/09/30 Javascript
jQuery实现的简单对话框拖动功能示例
2018/06/05 jQuery
解决webpack dev-server不能匹配post请求的问题
2018/08/24 Javascript
JavaScript实现的联动菜单特效示例
2019/07/08 Javascript
[49:30]DOTA2-DPC中国联赛正赛 Dragon vs Dynasty BO3 第二场 3月4日
2021/03/11 DOTA
在Python中使用异步Socket编程性能测试
2014/06/25 Python
用python实现简单EXCEL数据统计的实例
2017/01/24 Python
Python3中使用PyMongo的方法详解
2017/07/28 Python
python八皇后问题的解决方法
2018/09/27 Python
Python设计模式之抽象工厂模式原理与用法详解
2019/01/15 Python
对python字典过滤条件的实例详解
2019/01/22 Python
详解用Python练习画个美队盾牌
2019/03/23 Python
使用HTML5 Canvas API控制字体的显示与渲染的方法
2016/03/24 HTML / CSS
iphoneX 适配客户端H5页面的方法教程
2017/12/08 HTML / CSS
营销总经理的岗位职责
2013/12/15 职场文书
预备党员转正考核材料
2014/06/03 职场文书
《迟到》教学反思
2016/02/24 职场文书
pandas中DataFrame数据合并连接(merge、join、concat)
2021/05/30 Python
HTML常用标签超详细整理
2022/03/19 HTML / CSS
MySQL数据库之存储过程 procedure
2022/06/16 MySQL
ubuntu开机后ROS程序自启动问题
2022/12/24 Servers