translate

translate 函式會評估一個字串以及一組要翻譯的字元,並返回翻譯後的字串。

語法

translate(string, abc, XYZ)

引數

string

要評估的字串。

abc

將被替換的字元組成的字串。

XYZ

用於替換的字元組成的字串。XYZ 中的第一個字元將替換 abc 中的第一個字元在 string 中出現的所有例項。

返回值

翻譯後的字串。

描述

對於 string 中的每個字元,如果 abc 包含該字元,則將其替換為 XYZ 中相同索引處的字元。如果 abc 不包含該字元,則保持不變。

  • 如果 abc 的長度大於 XYZ,則 abc 末尾的額外字元將被對映為空字串(即,它們將從源字串中刪除)。
  • 如果 XYZ 包含的字元多於 abc,則忽略多餘的字元。
  • 如果一個字元在 abc 中出現多次,則第一次出現決定替換字元。

translate() 是一個逐字元替換函式,而不是正則表示式或字串替換函式。abcXYZ 字串代表字元密碼,而不是子字串。這意味著,如果你遇到上述任何一種情況,你可能正在錯誤地使用該方法(除了可能使用更長的 abc 來刪除某些字元)。

像這樣的替換不會像你期望的那樣輸出 The quick red fox;相反,結果是 The quick red fdx

xml
<xsl:value-of select="translate('The quick brown fox', 'brown', 'red')" />

示例

使用 translate() 進行大小寫轉換

XPath 指出,translate 函式並不是所有語言中大小寫轉換的充分解決方案。未來版本的 XPath 可能會提供額外的函式用於大小寫轉換。

然而,這是我們目前最接近能夠將字串轉換為大寫或小寫的函式。

xml
<xsl:value-of select="translate('The quick brown fox.', 'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')" />

輸出

THE QUICK BROWN FOX.

規範

XPath 1.0 4.2

Gecko 支援情況

支援。