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 相关文章推荐
在Django的form中使用CSS进行设计的方法
Jul 18 Python
Python 实现文件的全备份和差异备份详解
Dec 27 Python
Python列表和元组的定义与使用操作示例
Jul 26 Python
python中实现指定时间调用函数示例代码
Sep 08 Python
python使用PyCharm进行远程开发和调试
Nov 02 Python
python使用xlsxwriter实现有向无环图到Excel的转换
Dec 12 Python
python3.4爬虫demo
Jan 22 Python
Pyqt5如何让QMessageBox按钮显示中文示例代码
Apr 11 Python
提升Python程序性能的7个习惯
Apr 14 Python
Python selenium爬取微博数据代码实例
May 22 Python
keras读取训练好的模型参数并把参数赋值给其它模型详解
Jun 15 Python
python数据类型强制转换实例详解
Jun 22 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
探讨Hessian在PHP中的使用分析
2013/06/13 PHP
php中$美元符号与Zen Coding冲突问题解决方法分享
2014/05/28 PHP
PHP使用json_encode函数时不转义中文的解决方法
2014/11/12 PHP
php三种实现多线程类似的方法
2015/10/30 PHP
Laravel validate error处理,ajax,json示例
2019/10/25 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
2020/03/27 PHP
jQuery EasyUI API 中文文档 - TreeGrid 树表格使用介绍
2011/11/21 Javascript
document.createElement()用法
2013/03/13 Javascript
js实现图片从左往右渐变切换效果的方法
2015/02/06 Javascript
jQuery简单实现日历的方法
2015/05/04 Javascript
Javascript实现div层渐隐效果的方法
2015/05/30 Javascript
jquery实现左右无缝轮播图
2020/07/31 Javascript
Jquery为DIV添加click事件的简单实例
2016/06/02 Javascript
js实现京东轮播图效果
2017/06/30 Javascript
JavaScript常见事件对象与操作实例总结
2019/01/05 Javascript
浅谈Vue.js中如何实现自定义下拉菜单指令
2019/01/06 Javascript
tweenjs缓动算法的使用实例分析
2019/08/26 Javascript
原生JS实现无缝轮播图片
2020/06/24 Javascript
如何检测JavaScript中的死循环示例详解
2020/08/30 Javascript
[02:14]完美“圣”典2016风云人物:xiao8专访
2016/12/01 DOTA
[01:31:03]DOTA2完美盛典全回顾 见证十五项大奖花落谁家
2017/11/28 DOTA
Python自动化运维_文件内容差异对比分析
2017/12/13 Python
如何不用安装python就能在.NET里调用Python库
2019/07/12 Python
python cv2读取rtsp实时码流按时生成连续视频文件方式
2019/12/25 Python
如何通过Django使用本地css/js文件
2020/01/20 Python
浅析pip安装第三方库及pycharm中导入第三方库的问题
2020/03/10 Python
python使用建议与技巧分享(一)
2020/08/17 Python
CSS 说明横向进度条最后显示文字的实现代码
2020/11/10 HTML / CSS
使用HTML5 Canvas绘制直线或折线等线条的方法讲解
2016/03/14 HTML / CSS
工作说明书格式
2014/07/29 职场文书
党支部创先争优承诺书
2014/08/30 职场文书
八项规定对照检查材料
2014/08/31 职场文书
群众路线教育实践活动个人对照检查材料思想汇报(社区班子)
2014/10/06 职场文书
房地产销售主管岗位职责
2015/02/13 职场文书
2016年圣诞节义工活动总结
2016/04/01 职场文书
来探秘“德国中小企业”的成功之道
2019/07/26 职场文书