在我的XSL实现中(2.0),我尝试使用以下语句来删除文本节点内的所有空格和非换行空格。它可以删除空格,但无法删除非换行空格,其ASCII代码为:
                              ​ 
等。我正在使用SAXON处理器执行。
当前的XSL代码:
translate(normalize-space($text-nodes[1]), ' ' , '' ))
我该如何将它们删除?请分享您的想法。
'[\p{Z}]+'
中的方括号是否必要?'\p{Z}+'
不应该就足够了吗? - Martin Honnen+
也没必要,但是为了教育价值,我还是留下了它。可能还能稍微提高效率,我不确定。 - wdebeaum\p{}
转义符放在方括号中,如下所示:[\p{Z}\p{Cf}\p{Cc}]
。如果您只想要这些类别中的特定字符,则可以包含用于它们的实体引用。例如,要匹配分隔符,加上“零宽度空格”和“null”,请使用此正则表达式:[\p{Z}​�]
。 - wdebeaum