Python 字符串 translate() 方法
translate()
方法接受翻译表来替换/翻译给定字符串中的字符,根据映射表进行操作。
翻译表是由静态方法 maketrans() 创建的。
translate()
方法的语法是:
string.translate(table)
String translate() 参数
translate()
方法接受一个参数:
- table - 一个翻译表,包含两个字符之间的映射;通常由
maketrans()
创建
String translate() 返回值
translate()
方法返回一个字符串,其中每个字符都映射到其对应的字符,根据翻译表进行映射。
示例 1:使用翻译表的翻译/映射 translate()
# 第一个字符串
firstString = "abc"
secondString = "ghi"
thirdString = "ab"
string = "abcdef"
print("原始字符串:", string)
translation = string.maketrans(firstString, secondString, thirdString)
# 翻译字符串
print("翻译后的字符串:", string.translate(translation))
输出
原始字符串: abcdef
翻译后的字符串: idef
这里,翻译映射 translation 包含从 a, b 和 c
到 g, h 和 i
的映射。
但是,移除字符串 thirdString 重置了 a
和 b
的映射到 None
。
所以,当使用 translate()
翻译字符串时,a
和 b
被移除,c
被替换为 i
,输出为 idef
。
注意:如果您不理解 maketrans() 内部发生了什么,请参考String maketrans()。
示例 2:使用 translate() 进行翻译/映射,手动创建翻译表
# 翻译表 - 一个字典
translation = {97: None, 98: None, 99: 105}
string = "abcdef"
print("原始字符串:", string)
# 翻译字符串
print("翻译后的字符串:", string.translate(translation))
输出
原始字符串: abcdef
翻译后的字符串: idef
这里,我们没有从 maketrans()
创建翻译表,而是手动创建映射字典 translation。
这个翻译随后用于翻译 string
,以获得与前一个示例相同的输出。