You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Neo4j Cypher中Split()函数异常及多空格保留方法咨询

Cypher Split() 保留多空格问题解答

这不是Bug,是split()函数的默认特性:Cypher的split()会自动把连续的空白字符(不管是全角还是半角空格)合并成单个半角空格,所以你拆分后看到多空格变成了单空格。

要保留原字符串里的多空格,有两种可行方案:

  • 使用APOC扩展的apoc.text.split()函数(需要先在Neo4j中安装并启用APOC库),这个函数不会自动合并空白字符,直接拆分即可:

    RETURN apoc.text.split("a  b  c  d", "c")
    

    执行结果:["a  b  ", "  d"],完全保留原全角空格。

  • 用正则表达式拆分(无需扩展):通过零宽断言匹配分隔符"c"的位置,避免触动其他字符:

    RETURN [part IN split("a  b  c  d", "(?<=c)|(?=c)") WHERE part <> "c"]
    

    这里先把字符串按"c"的前后位置拆分,得到包含"c"的数组,再过滤掉"c"元素,最终结果同样保留原多空格。

内容的提问来源于stack exchange,提问作者norihide.shimatani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 22:48:17