代码之家  ›  专栏  ›  技术社区  ›  user944513

如何在xslt中从字符串中提取数字?

  •  1
  • user944513  · 技术社区  · 8 年前

    我在xslt中有一个变量 /photo/12345.text .我想提取 12345 从给定的变量,我们有这样的函数吗 lastIndex split 在xslt中,这样我将从这个字符串中提取这个值

    这是我的密码 http://xsltransform.net/gWEamLq/2

    <xsl:template match="@*|node()">
        <xsl:variable name="var1" select="'/photo/12345.text'"/>
        <xsl:value-of  select="$var1"/>
    </xsl:template>
    

    预计 值为“12345”的变量

    2 回复  |  直到 8 年前
        1
  •  1
  •   michael.hor257k    8 年前

    在XSLT 2.0中,您可以执行以下操作:

    <xsl:value-of select="substring-before(tokenize($var1, '/')[last()], '.')"/>
    

    12345 .


    演示: http://xsltransform.net/gWEamLq/4

        2
  •  0
  •   Daniel Haley    8 年前

    在XSLT 1.0中(问题被标记为“两者都是”)你可以使用 translate() ...

    <xsl:value-of select="translate($var1,translate($var1,'0123456789',''),'')"/>
    

    例子: http://xsltransform.net/gWEamLq/6