跳到主要内容

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 和 cg, h 和 i 的映射。

但是,移除字符串 thirdString 重置了 ab 的映射到 None

所以,当使用 translate() 翻译字符串时,ab 被移除,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,以获得与前一个示例相同的输出。