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异步任务队列示例
Apr 01 Python
python实现模拟按键,自动翻页看u17漫画
Mar 17 Python
教大家使用Python SqlAlchemy
Feb 12 Python
Python三级目录展示的实现方法
Sep 28 Python
Python最火、R极具潜力 2017机器学习调查报告
Dec 11 Python
Python实现基于C/S架构的聊天室功能详解
Jul 07 Python
Python3环境安装Scrapy爬虫框架过程及常见错误
Jul 12 Python
Python socket连接中的粘包、精确传输问题实例分析
Mar 24 Python
jupyter 使用Pillow包显示图像时inline显示方式
Apr 24 Python
Python学习之路之pycharm的第一个项目搭建过程
Jun 18 Python
Python 忽略文件名编码的方法
Aug 01 Python
python 中的jieba分词库
Nov 23 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
AJAX for PHP简单表数据查询实例
2007/01/02 PHP
PHP5中的时间相差8小时的解决办法
2008/03/28 PHP
php mssql 时间格式问题
2009/01/13 PHP
php基于双向循环队列实现历史记录的前进后退等功能
2015/08/08 PHP
java模拟PHP的pack和unpack类
2016/04/13 PHP
Zend Framework实现自定义过滤器的方法
2016/12/09 PHP
详解ThinkPHP3.2.3验证码显示、刷新、校验
2016/12/29 PHP
PHP读取并输出XML文件数据的简单实现方法
2017/12/22 PHP
tp5(thinkPHP5框架)时间查询操作实例分析
2019/05/29 PHP
javascript实现的像java、c#之类的sleep暂停的函数代码
2010/03/04 Javascript
基于jQuery的试卷自动排版系统实现代码
2011/01/06 Javascript
javascript自适应宽度的瀑布流实现思路
2013/02/20 Javascript
JavaScritp添加url参数并将参数加入到url中及更改url参数的方法
2015/10/26 Javascript
比较常见的javascript中定义函数的区别
2015/11/09 Javascript
element 结合vue 在表单验证时有值却提示错误的解决办法
2018/01/22 Javascript
vue axios请求拦截实例代码
2018/03/29 Javascript
vue + webpack如何绕过QQ音乐接口对host的验证详解
2018/07/01 Javascript
JS document文档的简单操作完整示例
2020/01/13 Javascript
如何搭建一个完整的Vue3.0+ts的项目步骤
2020/10/18 Javascript
python修改操作系统时间的方法
2015/05/18 Python
PyQt5每天必学之弹出消息框
2018/04/19 Python
在双python下设置python3为默认的方法
2018/10/31 Python
python实现连续变量最优分箱详解--CART算法
2019/11/22 Python
Django3中的自定义用户模型实例详解
2020/08/23 Python
python 下载文件的多种方法汇总
2020/11/17 Python
Python中全局变量和局部变量的理解与区别
2021/02/07 Python
css3动画事件—webkitAnimationEnd与计时器time事件
2013/01/31 HTML / CSS
c/c++某大公司的两道笔试题
2014/02/02 面试题
介绍一下Linux文件的记录形式
2012/04/18 面试题
个人素质的自我评价分享
2013/12/16 职场文书
公司应聘自荐书
2014/06/14 职场文书
求职信范文怎么写
2015/03/19 职场文书
台风停课通知
2015/04/24 职场文书
申请吧主发表的感言
2015/08/03 职场文书
八年级作文之友谊
2019/12/02 职场文书
详解Redis瘦身指南
2021/05/26 Redis