【发布时间】:2017-05-16 09:58:25
【问题描述】:
我正在尝试拆分字符串(使用 '|' 或 ',' 分隔的分隔字符串)。我使用 fn:tokenize 来实现这一点。考虑下面的示例文本,其中我有 4 列文本,其中在第 3 列中我得到了与拆分模式相同的值。
fn:tokenize("column1|column2|||column4", "|")
上述代码的结果是 5 个值,其中 2 个为空:
column1
column2
column4
我还尝试在 column3 值中添加引号,这也没有给我预期的结果。
【问题讨论】:
-
对我来说,上面看起来像是 5 列的分隔字符串,因为您有 4 个管道符号。对不对?
-
不,它是一个 4 列的字符串。在第三列中,我将管道符号作为值。在这第 3 列中,我面临着这个问题。
-
好的,清楚。是的,标记化是不够的。您将需要一个递归解决方案来消除位,并预期引用值中存在管道符号..
-
您需要更准确地指定问题。例如
|||||一列包含|||,还是两列包含|?在我看来,这是一种设计不佳的数据语法。
标签: xquery marklogic stringtokenizer