现在的位置: 首页 > 综合 > 正文

001_009 Python 字符串Translate的使用

2017年12月10日 ⁄ 综合 ⁄ 共 624字 ⁄ 字号 评论关闭

代码如下: 核心思想,keep = all - delete

#encoding=utf-8
print '中国'

import string

#字符串Translate的使用 不支持unicode
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

digit_only = translator(keep=string.digits)
print digit_only('abc123')


nodigit =  translator(delete=string.digits)
print nodigit('abc123')

repel =  translator(frm=string.digits,to='#')
print repel('abc123')

#print repel(u'ab1123c中国') #runtime error

打印结果如下:

中国
123
abc
abc###

抱歉!评论已关闭.