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