我正在使用XSLT 2.0并尝试提取所需的caracterer正则表达式。正则表达式XSLT,提取匹配
我试着用tokenize(),但更令人费解。
<xsl:value-of select="tokenize('2.0-Cloverleaf-3d', '-')" />
通过其结果是:2.0,应当返回的结果是:。字符串是(2.0-Cloverleaf- * * d)。
我更愿意做这样:
<xsl:if test="matches(x:td/x:p, '.+3d$')">
true
</xsl:if>
有什么功能得到你需要的字符,而不需要一个“如果”?谢谢。
编辑
我想我会离开它这样。
<xsl:variable name="places">
<xsl:if test="matches(x:td/x:p, '.+3d$')">3</xsl:if>
<xsl:if test="matches(x:td/x:p, '.+4d$')">4</xsl:if>
<xsl:if test="matches(x:td/x:p, '.+5d$')">5</xsl:if>
</xsl:variable>
但是,如果有更好的方法来做到这一点。谢谢。
你想返回或得到什么样的字符?我想你只是想检查字符串是否以'3d'结尾,因为我们在2.0中有一个函数是ends-with(),但它返回布尔值。如果你有固定的长度,你也可以使用substring()。 – 2013-05-07 15:29:14
我喜欢这样,结束与()。谢谢。 – 2013-05-07 15:31:10