gpt4 book ai didi

xslt - 从 xslt 中的字符串中选择最后一个单词

转载 作者:行者123 更新时间:2023-12-02 11:59:19 25 4
gpt4 key购买 nike

我只想从 xslt 中的“aaa-bbb-ccc-ddd”字符串中取出最后一个元素。

无论“-”如何,输出都应该是“ddd”。

最佳答案

XSLT/Xpath 2.0 - 使用 tokenize()函数在“-”上分割字符串,然后使用谓词过滤器选择序列中的最后一项:

<?xml version="1.0"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:value-of select="tokenize('aaa-bbb-ccc-ddd','-')[last()]"/>
</xsl:template>
</xsl:stylesheet>

XSLT/XPath 1.0 - 使用 a recursive template查找最后一次出现的“-”并选择其后面的子字符串:

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:call-template name="substring-after-last">
<xsl:with-param name="input" select="'aaa-bbb-ccc-ddd'" />
<xsl:with-param name="marker" select="'-'" />
</xsl:call-template>
</xsl:template>

<xsl:template name="substring-after-last">
<xsl:param name="input" />
<xsl:param name="marker" />
<xsl:choose>
<xsl:when test="contains($input,$marker)">
<xsl:call-template name="substring-after-last">
<xsl:with-param name="input"
select="substring-after($input,$marker)" />
<xsl:with-param name="marker" select="$marker" />
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$input" />
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

关于xslt - 从 xslt 中的字符串中选择最后一个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8132257/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com