translate
translate 函数会评估一个字符串以及一组要翻译的字符,并返回翻译后的字符串。
语法
translate(string, abc, XYZ)
参数
返回值
翻译后的字符串。
描述
对于 string 中的每个字符,如果 abc 包含该字符,则将其替换为 XYZ 中相同索引处的字符。如果 abc 不包含该字符,则保持不变。
- 如果
abc的长度大于XYZ,则abc末尾的额外字符将被映射为空字符串(即,它们将从源字符串中删除)。 - 如果
XYZ包含的字符多于abc,则忽略多余的字符。 - 如果一个字符在
abc中出现多次,则第一次出现决定替换字符。
translate() 是一个逐字符替换函数,而不是正则表达式或字符串替换函数。abc 和 XYZ 字符串代表字符密码,而不是子字符串。这意味着,如果你遇到上述任何一种情况,你可能正在错误地使用该方法(除了可能使用更长的 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.
规范
Gecko 支持情况
支持。