|
|
发表于 2017-8-8 10:10:51
|
显示全部楼层
本帖最后由 ba21 于 2017-8-8 10:32 编辑
maketrans方法 简单介绍:
一: ''.maketrans 等同于 str.maketrans
二:
语法
maketrans()方法语法:
str.maketrans(intab, outtab)
参数
intab -- 字符串中要替代的字符组成的字符串。
outtab -- 相应的映射字符的字符串。
返回值
返回字符串转换后生成的新字符串。
实例
以下实例展示了使用maketrans() 方法将所有元音字母转换为指定的数字:
- #!/usr/bin/python3
- intab = "aeiou"
- outtab = "12345"
- trantab = str.maketrans(intab, outtab)
- str = "this is string example....wow!!!"
- print (str.translate(trantab))
复制代码
三:还有第3个参数,如果给了第三个参数,(第三个参数)它必须是字符串,这个字符串中的字符会被映射成None,简单点说就是删除了
- s = 'this is a test'
- table = ''.maketrans('is', 'mn','h')
- s.translate(table)
- Out[57]:
- 'tmn mn a tent'
复制代码
很明显,第三个参数中的h 从最后结果中消失了,也就是删除了。总的来说translate是非常强大的,不仅能替换,还能删除。
translate()方法
Python3 translate()方法
Python3 字符串 Python3 字符串
描述
translate() 方法根据参数table给出的表(包含 256 个字符)转换字符串的字符,要过滤掉的字符放到 deletechars 参数中。
语法
translate()方法语法:
str.translate(table[, deletechars]);
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!!!
- 以下实例演示如何过滤掉的字符 x 和 m:
- 实例(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'
复制代码 |
评分
-
查看全部评分
|