搜索关键字:
python string.maketrans
参考链接:
- https://docs.python.org/2/library/string.html#string.maketrans
- http://pymotw.com/2/string/
- http://stackoverflow.com/questions/15815696/i-need-to-know-exactly-how-to-use-string-maketrans
- http://gis.stackexchange.com/questions/29694/how-to-implent-a-maketrans-python-function-on-field-calculator
- http://nullege.com/codes/search/string.maketrans
- http://wangwei007.blog.51cto.com/68019/1242206
参考解答:
Python中的 string.maketrans(from, to) 用于将参数中的 from 映射成 to (对位映射,所以需要’from’和’to’的长度一致),然后传递给 string.translate() 进行处理。类似于Linux的 tr 命令(tr ‘set1’ ‘set2’)。
不要使用 lowercase 和 uppercase 作为 string.maketrans() 的参数,因为在某些情况下它们的长度是不一致的。如果要进行大小写的转换,请使用 str.lower() 和 str.upper() 方法。
astr = 'How can you tell an extrovert from an introvert at NSA?' import string rot13 = string.maketrans( u"ABCDEFGHIJKLMabcdefghijklmNOPQRSTUVWXYZnopqrstuvwxyz", u"NOPQRSTUVWXYZnopqrstuvwxyzABCDEFGHIJKLMabcdefghijklm" ) print astr.translate(rot13) print astr.encode('rot13') import codecs print codecs.encode(astr, 'rot_13')
注意:
string.translate() 在 Python3 中已经被废弃了。
《“Python2中的string.maketrans”》 有 1 条评论
Python中如何快速进行多个字符的替换
`
1.当要替换的字符数量不多时,可以直接链式replace()方法进行替换,效率非常高;
2.如果要替换的字符数量较多,则推荐在 for 循环中调用 replace() 进行替换。
`
http://stackoverflow.com/questions/3411771/multiple-character-replace-with-python
http://stackoverflow.com/questions/6116978/python-replace-multiple-strings