拆分 Xquery 中的特定字段

splitting up a particular field in Xquery

我有一个输入字段

<BID>12-ABS-65789345</BID>

我需要这样调整 XQuery,我只需要捕获字段的最后一部分,比如在两个 - 符号之后。

在上述情况下,我需要 XQuery 的输出如下

<BID>65789345</BID>

这里有任何帮助..

谢谢

假设您的要求可以解释为获取“最后一个”连字符之后的内容,您可以获取通过在连字符上拆分字符串形成的序列中的最后一项:

let $x := <BID>12-ABS-65789345</BID>
return
  <BID>{tokenize($x,'-')[last()]}</BID>

如果您总是需要第二个连字符之后的内容,并且您可以保证总是至少有两个连字符,那么您可以在拆分字符串后取第三项:

let $x := <BID>12-ABS-65789345</BID>
return
  <BID>{tokenize($x,'-')[3]}</BID>