string.maketrans(from, to) string.translate(s, table[, deletechars]) str.translate(table[, deletechars]) unicode.translate(table)
static str.maketrans(x[, y[, z]]) static bytes.maketrans(from, to) static bytearray.maketrans(from, to) str.translate(map) bytes.translate(table[, delete]) bytearray.translate(table[, delete])
>>> import string #导入string模块
>>> map = string.maketrans('123', 'abc') #建立映射表,将字符串中含有的'1','2','3'替换为'a','b','c'
>>> s = '54321123789' #转换前的字符串
>>> s.translate(map) #用创建的映射表map转换字符串
'54cbaabc789' #转换后的字符串
>>> map = str.maketrans('123','abc')
>>> s = '54321123789'
>>> s.translate(map)
'54cbaabc789'
>>> import string
>>> map = string.maketrans('123', 'abc')
>>> s = '54321123789'
>>> s.translate(map, '78') #除了转换,还要删除字符串中的字符'7','8'
'54cbaabc9' #转换后的字符串没有字符'7','8'
>>> map = str.maketrans('123','abc', '78')#要删除的字符需要在这指定
>>> s = '54321123789'
>>> s.translate(map)
'54cbaabc9'
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
>>> import string
>>> map = string.maketrans('123', 'abc')
>>> type(map)
<type 'str'>
>>> map = str.maketrans('123','abc')
>>> type(map)
<class 'dict'>
>>> print u"hallo".translate({97:u'e'})
hello
>>> print u"hallo".translate({'a':u'e'})
hallo
>>> print u"hallo".translate({u'a':u'e'})
hallo
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有