在xquery中将字符串拆分为两个字符串

时间:2012-05-11 08:54:59

标签: xquery

这是字符串

a = "http://www.peoples.net/mcfnet/viewtopic.php?f=143&t=4898958&sid=2110d616dbad926"

现在,我们需要将此字符串拆分为两个,并且需要一个字符串。

预期输出为:

b = "http://www.peoples.net/mcfnet/viewtopic.php?f=143&t=4898958&"

2 个答案:

答案 0 :(得分:1)

尝试使用子字符串函数

我认为使用substring-before-match你可以做你想做的事,或者试着看看其他子串的函数。检查这个link

答案 1 :(得分:0)

您希望获取除最后一个查询字符串参数之外的所有原始字符串。

这是一个单独的XPath 2.0表达式,用于从原始生成此字符串,该字符串在名为$vA的变量中定义:

 codepoints-to-string
        (
         reverse
           (string-to-codepoints
                (substring-after
                    (codepoints-to-string
                        (reverse(string-to-codepoints($vA))
                     ),
                   '&'
                 )
            )
          )
        )

<强>解释

  1. 我们使用string-to-codepoints()将字符串转换为字符序列,并使用reverse()反转此序列。然后我们使用`codepoints-to-string。

  2. 将反转的字符序列转回字符串
  3. 从反向字符串(由上面的1.产生)中,我们得到第一个&之后的子字符串。我们使用substring-after()

  4. 执行此操作
  5. 这是我们的结果,但是相反 - 我们使用与上面步骤1完全相同的逻辑将其反转回正常。

相关问题