Python string translate() 方法



Python Stringtranslate() 方法是 string 模块中 maketrans() 方法的续集。此方法使用 maketrans() 方法生成的翻译表,并根据所述表中的一对一映射翻译所有字符。

此方法的翻译表输入在编制索引时,将执行下面给出的以下任何操作:

  • 它可用于检索字符串或 Unicode 序号。
  • 它将一个字符映射到一个或多个其他字符。
  • 它可以从检索到的字符串中删除字符。
  • 如果字符映射到自身,则会引发 LookUpError
注 − 它的工作原理类似于文本文件中的 replace 函数。

语法

以下是 Python String translate() 方法的语法 -


 str.translate(table);

参数

  • table − 您可以使用 string 模块中的 maketrans() 辅助函数来创建翻译表。

返回值

此方法返回字符串的翻译副本。

使用此方法,字符串中的每个元音都由其元音位置替换。

以下示例显示了 Python String translate() 方法的用法。在这里,我们创建了两个字符串:“aeiou”和“12345”。我们首先使用 maketrans() 方法在这些字符串输入上生成一个翻译表。然后,我们在生成的翻译表上调用 translate() 方法,以获取最终字符串。−


intab = "aeiou"
outtab = "12345"

str = "this is string example....wow!!!";
trantab = str.maketrans(intab, outtab)
print(str.translate(trantab))

当我们运行上述程序时,它会产生以下结果——

th3s 3s str3ng 2x1mpl2....w4w!!!

我们创建一个翻译表作为字典,并将其作为参数传递给方法,以获取翻译后的字符串作为返回值。

在下面的示例中,我们创建一个字符串输入,说“This is string example....wow!!“,并将翻译表作为 Python 字典。在输入字符串上调用 translate() 方法,其中翻译表作为参数传递。


trantab = {97: 65, 101: 69, 105: 73, 111: 79, 117: 86}

str = "this is string example....wow!!!";
print(str.translate(trantab))

执行上述程序将产生以下结果 -

thIs Is strIng ExAmplE....wOw!!!

下面给出了另一个演示 translate() 方法用法的示例。我们以字符串 “Here, affect is noun” 和 python 字典作为输入。translate() 方法将字典作为其参数,并在我们创建的输入字符串上调用。


trantab = {97: 101}

str = "Here, affect is noun"
print(str.translate(trantab))

如果我们编译并运行上述程序,则输出如下所示 -

Here, effect is noun