Python3 translate()方法
描述
translate() 方法根据参数table给出的表(包含 256 个字符)转换字符串的字符,要过滤掉的字符放到 deletechars 参数中。
语法
translate()方法语法:
str.translate(table) bytes.translate(table[, delete]) bytearray.translate(table[, delete])
参数
- table -- 翻译表,翻译表是通过 maketrans() 方法转换而来。
- deletechars -- 字符串中要过滤的字符列表。
返回值
返回翻译后的字符串,若给出了 delete 参数,则将原来的bytes中的属于delete的字符删除,剩下的字符要按照table中给出的映射来进行映射 。
实例
以下实例展示了 translate() 函数的使用方法:
实例(Python 3.0+)
#!/usr/bin/python3
intab = "aeiou"
outtab = "12345"
trantab = str.maketrans(intab, outtab) # 制作翻译表
str = "this is string example....wow!!!"
print (str.translate(trantab))
以上实例输出结果如下:
th3s 3s str3ng 2x1mpl2....w4w!!!
以下实例演示如何过滤掉的字符 o:
实例(Python 3.0+)
#!/usr/bin/python
# 制作翻译表
bytes_tabtrans = bytes.maketrans(b'abcdefghijklmnopqrstuvwxyz', b'ABCDEFGHIJKLMNOPQRSTUVWXYZ')
# 转换为大写,并删除字母o
print(b'runoob'.translate(bytes_tabtrans, b'o'))
以上实例输出结果:
b'RUNB'
cangyin
152***5226@qq.com
关于 str.translate() 函数的一点尝试,诸君有兴趣可以耐着性子看看。
输出:
另外,根据 python3.7.3 文档,str 类型的 translate() 函数只接受一个参数,没有原文中的第二个 deletechars 参数。bytearray, bytes 和 str 三种对象的 translate() 函数原型抄写如下:
cangyin
152***5226@qq.com