Neo4j密码:替换多个字符

Neo4j密码:替换多个字符,neo4j,cypher,Neo4j,Cypher,我需要用单个字符替换多个字符 RETURN LOWER(REPLACE("ranchod-das-chanchad-240190---Funshuk--Wangdu",'--', '-')) 有任何正则表达式可以这样做吗 对于neo4j 2.2.2没有类似于以正则表达式作为参数的REPLACE的函数 因为您使用的是Neo4j 2.2,所以也不能将其作为过程来实现 唯一的方法是拆分和合并(使用reduce和substring的组合): 返回子串(reduce(s='',过滤器中的e(拆分中的e(

我需要用单个字符替换多个字符

RETURN LOWER(REPLACE("ranchod-das-chanchad-240190---Funshuk--Wangdu",'--', '-'))
有任何正则表达式可以这样做吗


对于neo4j 2.2.2

没有类似于以正则表达式作为参数的
REPLACE
的函数

因为您使用的是Neo4j 2.2,所以也不能将其作为过程来实现

唯一的方法是拆分和合并(使用
reduce
substring
的组合):

返回子串(reduce(s='',过滤器中的e(拆分中的e('ranchod-das-chanchad-240190---Funshuk--Wangdu','-'),其中e'')|s+'-'+e),1);
如果将其分解,则更易于阅读:

WITH split('ranchod-das-chanchad-240190---Funshuk--Wangdu', '-') AS elems
WITH filter(e IN elems WHERE e <> '') AS elems
RETURN substring(reduce(s = '', e IN elems | s + '-' + e), 1);
以拆分('ranchod-das-chanchad-240190---Funshuk--Wangdu','-')作为元素
将筛选器(e在元素中,其中e“”)作为元素
返回子字符串(reduce(s='',e在元素中| s+'-'+e),1);

没有类似于将正则表达式作为参数的
REPLACE
函数

因为您使用的是Neo4j 2.2,所以也不能将其作为过程来实现

唯一的方法是拆分和合并(使用
reduce
substring
的组合):

返回子串(reduce(s='',过滤器中的e(拆分中的e('ranchod-das-chanchad-240190---Funshuk--Wangdu','-'),其中e'')|s+'-'+e),1);
如果将其分解,则更易于阅读:

WITH split('ranchod-das-chanchad-240190---Funshuk--Wangdu', '-') AS elems
WITH filter(e IN elems WHERE e <> '') AS elems
RETURN substring(reduce(s = '', e IN elems | s + '-' + e), 1);
以拆分('ranchod-das-chanchad-240190---Funshuk--Wangdu','-')作为元素
将筛选器(e在元素中,其中e“”)作为元素
返回子字符串(reduce(s='',e在元素中| s+'-'+e),1);