在XSL中从字符串中删除非字母数字字符

时间:2009-08-12 18:36:02

标签: xslt

如何从XSL中的字符串中删除非字母数字字符?

2 个答案:

答案 0 :(得分:17)

如果您将非字母数字定义为[^a-zA-Z0-9]

<xsl:value-of select="
  translate(
    string,
    translate(
      string, 
      'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789',
      ''
    ),
    ''
  )
" />

请注意,这适用于XSLT 1.0。在XSLT 2.0中,您可以使用replace()直接使用正则表达式。

答案 1 :(得分:7)

对于XSLT 2.0,您可以使用replace(),如下所示:

<xsl:value-of select="replace(<string>, '[^a-zA-Z0-9]', '')" />