Python translator使用实例

yipeiwu_com6年前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 : ###-####


相关文章

Flask框架学习笔记之消息提示与异常处理操作详解

Flask框架学习笔记之消息提示与异常处理操作详解

本文实例讲述了Flask框架学习笔记之消息提示与异常处理操作。分享给大家供大家参考,具体如下: flask通过flash方法来显示提示消息: from flask import Fl...

Python实现点阵字体读取与转换的方法

Python实现点阵字体读取与转换的方法

点阵字体是指根据文字的像素点来显示的字体,效果如下: 使用Python读取并显示的过程如下: 根据中文字符获取GB2312编码 通过GB2312编码计算该汉字在点阵字库中的区位和码位...

Python中fnmatch模块的使用详情

fnamtch就是filenamematch, 在python中利用符合linuxshell风格的匹配模块来进行文件名的匹配筛选工作。 fnmatch()函数匹配能力介于简单的字符串方法...

将python运行结果保存至本地文件中的示例讲解

一、建立文件,保存数据 1.使用python中内置的open函数 打开txt文件 #mode 模式 #w 只能操作写入 r 只能读取 a 向文件追加 #w+ 可读可写 r+可读可写...

python通过opencv实现图片裁剪原理解析

python通过opencv实现图片裁剪原理解析

这篇文章主要介绍了python通过opencv实现图片裁剪原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 图像裁剪的基本概念...