2016-12-01 6 views
0

XSLTには、Perlでの[:punct:]のような句読点を削除するストレート関数はありますか?xsltのpunctを削除する

+4

私はPerlに精通していません。私は正規表現(XSLT 2.0)を使って "句読点を取り除く"ことができたと思います。ここに必要なものが正確にわかるように説明と[mcve]を入力してください。 - P.S.質問をXSLT 1.0またはXSLT 2.0のいずれかにタグ付けしてください。 XSLT 2.0を使用できる場合、XSLT 1.0タグは冗長です。 –

答えて

3

http://perldoc.perl.org/perlrecharclass.htmlは、正規表現の照合と置換で句読点の範囲を定義するPerl固有の方法であることを示唆しています。ASCIIやUnicodeのようなさまざまな要因によって定義される文字が異なるようです。どの文字がUnicodeで定義されているかを正確に伝えます。

XSLTとXPathは常にUnicodeで動作し、すべてのUnicode句読点文字の範囲を文字クラス\p{P}で表すことができます。 replace('a.b,c', '\p{P}', '')。さらに制限の多い句読点範囲があります。https://www.w3.org/TR/xmlschema-2/#charcter-classesの「カテゴリエスケープ」セクションを参照してください。

関連する問題