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 相关文章推荐
TensorFlow实现卷积神经网络CNN
Mar 09 Python
Numpy 将二维图像矩阵转换为一维向量的方法
Jun 05 Python
python实现按长宽比缩放图片
Jun 07 Python
Python实现string字符串连接的方法总结【8种方式】
Jul 06 Python
python2.7使用plotly绘制本地散点图和折线图
Apr 02 Python
python 用所有标点符号分隔句子的示例
Jul 15 Python
python脚本执行CMD命令并返回结果的例子
Aug 14 Python
Python 脚本的三种执行方式小结
Dec 21 Python
Python中zip函数如何使用
Jun 04 Python
python属于跨平台语言码
Jun 09 Python
Python 执行矩阵与线性代数运算
Aug 01 Python
Python OpenCV实现图像模板匹配详解
Apr 07 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 zend解密软件绿色版测试可用
2008/04/14 PHP
php下目前为目最全的CURL中文说明
2010/08/01 PHP
使用HMAC-SHA1签名方法详解
2013/06/26 PHP
php执行多个存储过程的方法【基于thinkPHP】
2016/11/08 PHP
Laravel框架中Blade模板的用法示例
2017/08/30 PHP
CI框架实现创建自定义类库的方法
2018/12/25 PHP
让JavaScript 轻松支持函数重载 (Part 1 - 设计)
2009/08/04 Javascript
jQuery 一个图片切换的插件
2011/10/09 Javascript
jQuery UI 实现email输入提示实例
2013/08/15 Javascript
JavaScript中Window对象的属性及事件
2015/12/25 Javascript
node.js实现快速截图
2016/08/27 Javascript
Vue 项目部署到服务器的问题解决方法
2017/12/05 Javascript
JavaScript Canvas实现验证码
2020/08/02 Javascript
vue踩坑记-在项目中安装依赖模块npm install报错
2019/04/02 Javascript
vue 通过绑定事件获取当前行的id操作
2020/07/27 Javascript
跟老齐学Python之通过Python连接数据库
2014/10/28 Python
详解python中requirements.txt的一切
2017/03/03 Python
python3中str(字符串)的使用教程
2017/03/23 Python
Python结巴中文分词工具使用过程中遇到的问题及解决方法
2017/04/15 Python
浅谈python socket函数中,send与sendall的区别与使用方法
2017/05/09 Python
python基础教程项目三之万能的XML
2018/04/02 Python
Python简单爬虫导出CSV文件的实例讲解
2018/07/06 Python
python 图像平移和旋转的实例
2019/01/10 Python
使用Python实现企业微信的自动打卡功能
2019/04/30 Python
python中dict使用方法详解
2019/07/17 Python
在pytorch中查看可训练参数的例子
2019/08/18 Python
keras 权重保存和权重载入方式
2020/05/21 Python
怎么快速自学python
2020/06/22 Python
Django DRF APIView源码运行流程详解
2020/08/17 Python
美国演唱会订票网站:Ticketmaster美国
2017/10/05 全球购物
洛杉矶时尚女装系列:J.ING US
2019/03/17 全球购物
Etam德国:内衣精品店
2019/08/25 全球购物
学校门卫岗位职责
2014/03/16 职场文书
学员自我鉴定
2014/03/19 职场文书
python 网络编程要点总结
2021/06/18 Python
新手初学Java网络编程
2021/07/07 Java/Android