i besoin de remplacer plusieurs caractères par caractèreNeo4j Cypher: remplacer plusieurs caractères
RETURN LOWER(REPLACE("ranchod-das-chanchad-240190---Funshuk--Wangdu",'--', '-'))
est-il regex pour ce faire
pour Neo4j 2.2.2
i besoin de remplacer plusieurs caractères par caractèreNeo4j Cypher: remplacer plusieurs caractères
RETURN LOWER(REPLACE("ranchod-das-chanchad-240190---Funshuk--Wangdu",'--', '-'))
est-il regex pour ce faire
pour Neo4j 2.2.2
Il n'y a pas la fonction similaire à REPLACE
en prenant un regex comme paramètre.
Puisque vous utilisez Neo4j 2.2, vous ne pouvez pas non plus l'implémenter comme une procédure.
La seule façon de le faire est par le fractionnement et d'assemblage (en utilisant une combinaison de reduce
et substring
):
RETURN substring(reduce(s = '', e IN filter(e IN split('ranchod-das-chanchad-240190---Funshuk--Wangdu', '-') WHERE e <> '') | s + '-' + e), 1);
Il peut être plus facile à lire si vous le décomposer:
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);