在XSLT中是否有任何直接函数来删除标点符号,就像我们在Perl中有[:punct:]
一样?
答案 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中的“类别转义”部分。