XQuery 将土耳其语字符的 'ü' 替换为 'u'
XQuery Replace 'ü' to 'u' for Turkish characters
我有动态参数功能。我为此使用 MicroStrategy 工具。
让 $uri := replace('http://url/suggest?searchTerm=DYNAMIC PROMPT','\s+','%20')
我想在此函数中将“ü”替换为 'u'。我已经将 ('\s+','%20') 用于 space 个字符。
多个replace
函数可以嵌套:
let $string := 'http://url/suggest?searchTerm=DüNAMIC PROMPT'
let $uri := replace(replace($string, '\s+','%20'), 'ü', 'u')
return $uri
替换单个字符,也可以使用translate
函数:
let $string := 'http://url/suggest?searchTerm=DüNAMIC PROMPT'
let $uri := translate($string, ' üÜöÖäÄ','+uUoOaA')
return $uri
我可以对多个字符使用“let $uri := replace(replace($string, '\s+','%20'), 'ü', 'u')”吗?
例如:让 $uri := replace(replace($string, '\s+','%20'),'üÜöÖääÄ','+uUoOaA')
因为我需要两个替换案例。
Microstrategy 不支持这种情况。例如,我给了 'Müşteri' 关键字,它给了我不同的答案:(
我同意 Leo 的建议,即 fn:encode-for-uri()
是针对所述用例的方法 - 即,在构造 URL.[=14 时用于处理空格、特殊字符和变音符号=]
但是,如果您有兴趣从字符串中去除变音符号,可以按照以下方法进行操作:
xquery version "3.1";
"Müşteri"
=> normalize-unicode("NFD")
=> replace("\p{IsCombiningDiacriticalMarks}", "")
这个returnsMusteri
.
作为参考,这是基于我在 https://gist.github.com/joewiz/af04074c28e0ae2a1b92 发布的 Gist。
我有动态参数功能。我为此使用 MicroStrategy 工具。
让 $uri := replace('http://url/suggest?searchTerm=DYNAMIC PROMPT','\s+','%20')
我想在此函数中将“ü”替换为 'u'。我已经将 ('\s+','%20') 用于 space 个字符。
多个replace
函数可以嵌套:
let $string := 'http://url/suggest?searchTerm=DüNAMIC PROMPT'
let $uri := replace(replace($string, '\s+','%20'), 'ü', 'u')
return $uri
替换单个字符,也可以使用translate
函数:
let $string := 'http://url/suggest?searchTerm=DüNAMIC PROMPT'
let $uri := translate($string, ' üÜöÖäÄ','+uUoOaA')
return $uri
我可以对多个字符使用“let $uri := replace(replace($string, '\s+','%20'), 'ü', 'u')”吗? 例如:让 $uri := replace(replace($string, '\s+','%20'),'üÜöÖääÄ','+uUoOaA')
因为我需要两个替换案例。
Microstrategy 不支持这种情况。例如,我给了 'Müşteri' 关键字,它给了我不同的答案:(
我同意 Leo 的建议,即 fn:encode-for-uri()
是针对所述用例的方法 - 即,在构造 URL.[=14 时用于处理空格、特殊字符和变音符号=]
但是,如果您有兴趣从字符串中去除变音符号,可以按照以下方法进行操作:
xquery version "3.1";
"Müşteri"
=> normalize-unicode("NFD")
=> replace("\p{IsCombiningDiacriticalMarks}", "")
这个returnsMusteri
.
作为参考,这是基于我在 https://gist.github.com/joewiz/af04074c28e0ae2a1b92 发布的 Gist。