#-*- coding: utf-8 -*-
import string
def translator(frm='', to='', delete='', keep=None):
if len(to) == 1:
to = to * len(to)
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
if '__main__' == __name__:
#选出属于指定集合的字符
print string.digits
digits_only = translator(keep = string.digits)
print digits_only('Chris Perkins:224-7992')
#移除属于某字符集合的元素
no_digits = translator(delete=string.digits)
print no_digits('Eric chen: 1234-5678')
#用某个字符替换属于某指定集合的字符
digits_to_hash = translator(frm=string.digits, to='*')
print digits_to_hash('Eric chen: 1234-5678')
cookbook1.9 简化字符串t'ranslate方法的使用
最新推荐文章于 2022-04-07 21:30:06 发布