欢迎来到资源库(www.zyku.net)

Python教程

当前位置:首页 > 网络编程 > Python教程 > Python

Python translator使用实例

时间:2021-04-24|栏目:Python教程|点击:|我要投稿

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 : ###-####

(资源库 www.zyku.net)

上一篇:Python 字符串中的字符倒转

栏    目:Python教程

下一篇:Python 除法小技巧

本文标题:Python translator使用实例

本文地址:https://www.zyku.net/python/2182.html

关于我们 | 版权申明 | 寻求合作 |

重要申明:本站所有的文章、图片、评论等内容,均由网友发表或上传并维护或收集自网络,仅供个人学习交流使用,版权归原作者所有。

如有侵犯您的版权,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:95148658 | 邮箱:mb8#qq.com(#换成@)

苏ICP备2020066115号-1

本网站由提供CDN加速/云存储服务