删除xslt中的punct

时间:2016-12-01 05:21:34

标签: xslt xslt-1.0 xslt-2.0 xslt-grouping

在XSLT中是否有任何直接函数来删除标点符号,就像我们在Perl中有[:punct:]一样?

1 个答案:

答案 0 :(得分:3)

http://perldoc.perl.org/perlrecharclass.html表明[:punct:]是一种Perl特定的方式来定义正则表达式匹配和替换中的一系列标点符号,这种符号定义的字符似乎因ASCII或Unicode处理,我无法确切地告诉它在Unicode中定义了哪些字符。

但是,XSLT和XPath始终使用Unicode,并允许您使用字符类\p{P}来表示所有Unicode标点字符的范围,以便您可以将其用于例如replace('a.b,c', '\p{P}', '')。还有其他更具限制性的标点符号范围,请参阅https://www.w3.org/TR/xmlschema-2/#charcter-classes中的“类别转义”部分。