我有一个属性,其值可能包含以下字符:~!@#$%^&*()
和空格字符。
我想用空字符串替换所有字符。
请建议使用合适的正则表达式。
答案 0 :(得分:1)
您已经拥有正则表达式,它是您列出的所有字符的类:
[~!@#$%^&*() ]
您只需使用您所用语言的正则表达式/字符串API替换所有出现的空字符串。
例如,在Java中:
// The pattern can be declared as a constant, computed only once.
Pattern p = Pattern.compile("[~!@#$%^&*() ]");
String newPropName = p.matcher(propName).replaceAll("");
答案 1 :(得分:0)
您可以在Cypher代码中使用迄今为止未记录的APOC函数apoc.text.replace
。它接受正则表达式作为其第二个参数。 (因为它是一个函数,它不会在CALL
子句中调用。)
例如:
RETURN apoc.text.replace('~!@1~!@', '[~!@#$%^&*() ]', '') AS res;
返回:
╒═══╕
│res│
╞═══╡
│1 │
└───┘