XSLT - 检查子字符串

标签 xslt substring

我有两个 XSLT 变量,如下所示:

<xsl:variable name="staticBaseUrl" select="'https://www.hello.com/htapi/PrintApp.asmx/getGames?contentId=id_sudoku&uniqueId="123456"&pageformat=a4'" /> 

<xsl:variable name="dynamicUrl" select="'https://www.hello.com/htapi/PrintApp.asmx/getGames'" /> 

如何检查第二个字符串(dynamicUrl)是否是第一个字符串(staticBaseUrl)的子字符串?

最佳答案

要检查一个字符串是否包含在另一个字符串中,请使用 contains 功能。

例子:

  <xsl:if test="contains($staticBaseUrl,$dynamicUrl)">
    <xsl:text>Yes!</xsl:text>
  </xsl:if>

更新:

对于不区分大小写的包含,您需要先将两个字符串转换为相同的大小写,然后再调用 contains .在 XSLT 2.0 中,您可以使用 upper-case函数,但在 XSLT 1.0 中,您可以使用以下内容:
<xsl:variable name="smallcase" select="'abcdefghijklmnopqrstuvwxyz'" />
<xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />

<xsl:template match="/">
    <xsl:if
        test="contains(translate($staticBaseUrl,$smallcase,$uppercase), translate($dynamicUrl,$smallcase,$uppercase))">
        <xsl:text>Yes!</xsl:text>
    </xsl:if>
</xsl:template>

关于XSLT - 检查子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5336954/

相关文章:

xml - 如何用xslt转换xml并在Android webview中显示

xml - 如何查明属性是否存在于 XSL 中

xml - [C#]在 XMLDocument 中添加 XSL 引用

shell - 如何在 awk 中使用的子字符串条件中给出多个值

tomcat - 替换某些元素但保持剩余 XML 文档完好无损的样式表

python - Xerces + Python?

javascript - 为什么有两种不同的方法 slice() 和 substring()?

c# - 从字符串中删除背靠背的子字符串,但不是删除所有出现的子字符串 - c#

tsql - 使用 SUBSTRING AND CHARINDEX 获取字段中的最后一个完整单词

双引号之间的 JavaScript 文本