Есть ли прямая функция в XSLT, чтобы удалить знаки препинания как [:punct:]
у нас есть в Perl?Удаление punct в xslt
0
A
ответ
3
http://perldoc.perl.org/perlrecharclass.html предполагает, что [:punct:]
некоторые Perl специфический способ определить диапазон символов пунктуации в регулярных выражений и замены, кажется, символы, определенные этим обозначениям различаются в зависимости от различных факторов, таких как ASCII или обработки Unicode, я не могу точно указать, какие символы он определяет в Юникоде.
Однако XSLT и XPath всегда работают в Unicode и позволяют вам обозначать диапазон всех символов пунктуации Unicode с классами символов \p{P}
, поэтому вы можете использовать это, например. replace('a.b,c', '\p{P}', '')
. Существуют и другие более ограничительные диапазоны пунктуации, см. Раздел «Побег категории» в https://www.w3.org/TR/xmlschema-2/#charcter-classes.
Я не знаком с Perl. Я полагаю, вы могли бы «удалить пунктуацию» (что бы это ни значило) с использованием регулярного выражения (в XSLT 2.0). Пожалуйста, предоставьте объяснение и [mcve], чтобы мы точно знали, что здесь требуется. - P.S. Пожалуйста, отметьте ваши вопросы как XSLT 1.0 или XSLT 2.0, не оба. Если вы можете использовать XSLT 2.0, то тег XSLT 1.0 избыточен. –