cookbook1.9 简化字符串t'ranslate方法的使用
#-*- coding: utf-8 -*-import stringdef 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 translateif '__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')