在tokenize()的输出中查找位置

时间:2019-06-19 16:10:06

标签: xpath

说我有以下内容:

<data>
   <fruits>apples, bananas, cherries, oranges</fruits> 
</data>

使用

tokenize(//fruits,',')

我得到了预期的4种水果。如果我对cherries

感兴趣
tokenize(//fruits,',')[3]

会让我“樱桃”。

但是如果我需要做相反的事情-我可以在cherries的输出中找到3(即tokenize())的位置吗?我尝试过使用count()contains()position()的各种组合,但是没有任何远程关联。

1 个答案:

答案 0 :(得分:1)

如果index-of在Xquery / XPath处理器中可用,则可以这样使用:

index-of(tokenize(//fruits,',\s*'), 'cherries')

Demo

我修改了拆分模式,以修剪后续标记中的前导空白。

编辑:supputuri

在下面的屏幕快照中,您可以看到令牌输出,其中,和字符串之间有空格。

enter image description here