当前位置: 首页 > 图文教程 > 脚本技术 > Python > Python translator使用实例

Python
python 正则式使用心得
python 正则式 概述及常用字符
用python分割TXT文件成4K的TXT文件
python getopt 参数处理小示例
python 运算符 供重载参考
python 查找文件夹下所有文件 实现代码
打印出python 当前全局变量和入口参数的所有属性
python 解析html之BeautifulSoup
python self,cls,decorator的理解
python 自动提交和抓取网页
python 域名分析工具实现代码
Python 文件重命名工具代码
python 提取文件的小程序
Python 网络编程说明
python 简易计算器程序,代码就几行
python encode和decode的妙用
Python开发编码规范
学习python (1)
学习python (2)
简明 Python 基础学习教程

Python translator使用实例


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 103 ::
收藏到网摘: n/a

translator实例应用代码 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 : ###-####