Ray's playground

 

Recipe 1.9. Simplifying Usage of Strings' translate Method(Python Cookbook)

 1 >>> import string
 2 >>> def translator(frm='', to='', delete='', keep=None):
 3     if len(to) == 1:
 4         to = to * len(frm)
 5     trans = string.maketrans(frm, to)
 6     if keep is not None:
 7         allchars = string.maketrans('''')
 8         delete = allchars.translate(allchars, keep.translate(allchars, delete))
 9     def translate(s):
10         return s.translate(trans, delete)
11     return translate
12 
13 >>> digits_only = translator(keep=string.digits)
14 >>> digits_only('Ray Zhang : 4654- 645646')
15 '4654645646'
16 >>> no_digits = translator(delete=string.digits)
17 >>> no_digits('Ray Zhang : 4654- 645646')
18 'Ray Zhang : - '
19 >>> digits_to_hash = translator(frm=string.digits, to='#')
20 >>> digits_to_hash('Ray Zhang : 4654- 645646')
21 'Ray Zhang : ####- ######'

 

posted on 2010-12-21 09:39  Ray Z  阅读(132)  评论(0编辑  收藏  举报

导航