我一直在尝试使用规范化Unicode功能将重音字符转换为普通字母。我能够实现转换重音字符。我有一个新要求将¾(懒惰部分)转换为3/4(正常部分)。
这是我正在使用的xslt。
<xsl:value-of select="replace(normalize-unicode(upper-case(translate(wd:Last_Name, ',', ' ')), 'NFKD'), '[^(\p{IsBasicLatin}\p{IsLatin-1Supplement}\p{IsLatinExtended-A}\p{IsLatinExtended-B}]','')"/>
员工姓氏:Bistr¾anséky
我得到的输出:BISTR34ANSEKY
当我试图在translate函数中传递一些额外的参数时,我收到一个错误,比如'你不能在translate函数中传递3个或更多的参数'。如何实现这一目标?
答案 0 :(得分:0)
看起来normalize-unicode(., 'NFKD')
已经为您提供了ASCII数字,只有分数栏不是斜杠而是⁄
,基于您可以使用replace(normalize-unicode(., 'NFKD'), '⁄', '/')
。