joe*_*wiz 5
要替换 emoji,您可以利用 XPath 对Character Class Escapes的支持,特别是 Category 和 Block Escapes,来匹配命名的 Unicode 块:
replace("Hello üäö$", "\p{IsEmoticons}", "")
这将返回预期结果:
Hello üäö$
“表情符号”块不包含通常与“表情符号”相关的所有字符。例如,(Purple Heart, U+1F49C),根据part./en/unicode/U+1F49C之类的网站可以让您查找 Unicode 字符信息,来自:
杂项符号和象形文字,U+1F300 - U+1F5FF
此块在 XPath 或 XQuery 处理器中不可用,因为它既未列在上面链接的 XML Schema 1.0 规范中,也未列在用于 XSD 正则表达式的 Unicode 块名称中——XPath 和 XQuery 处理器符合的块列表XML Schema 1.1需要支持。
对于 XPath 或 XQuery 中不可用的块中的字符,您可以手动构造字符类。例如,给定上面的紫心字符,我们可以如下匹配:
replace("Purple heart", "[🌀-🗿]", "")
这将返回预期结果:
Purple Heart
如果您想知道为什么我们使用🌀
and not U+1F300
or \x1F300
,那是因为,正如 Michael Kay 上面提到的,“XQuery 使用 XML 转义约定
,而不是 C/Java 转义约定\xFFFF
。”
(我已经更新了答案以回应其他非常有用的评论。)
更多推荐
如何使用,表情符号,xquery,文本中
发布评论