如何从xslt中的字符串中提取数字?
how to extract digit from string in xslt?
我在 xslt 中有一个变量。它的值为 /photo/12345.text
。我想从给定的变量中提取 12345
。我们有类似 lastIndex
或 [=14 的函数吗? =] 在 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”的变量
在 XSLT 2.0 中,您可以:
<xsl:value-of select="substring-before(tokenize($var1, '/')[last()], '.')"/>
得到12345
.
在 XSLT 1.0 中(问题被标记为两者?)您可以使用 translate()
...
<xsl:value-of select="translate($var1,translate($var1,'0123456789',''),'')"/>
我在 xslt 中有一个变量。它的值为 /photo/12345.text
。我想从给定的变量中提取 12345
。我们有类似 lastIndex
或 [=14 的函数吗? =] 在 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”的变量
在 XSLT 2.0 中,您可以:
<xsl:value-of select="substring-before(tokenize($var1, '/')[last()], '.')"/>
得到12345
.
在 XSLT 1.0 中(问题被标记为两者?)您可以使用 translate()
...
<xsl:value-of select="translate($var1,translate($var1,'0123456789',''),'')"/>