如何从postgresql中的字符串中删除特殊字符

How to remove special characters from a string in postgresql

我正在尝试使用 REGEXP_REPLACE 删除以下特殊字符:"[]{}

来自以下文本字段:[{"x":"y","s":"G_1","cn":"C8"},{"cn":"M2","gn":"G_2","cn":"CA99"},{"c":"ME3","gn":"G_3","c":"CA00"}] 并用任何东西替换它们,甚至 space.

*不用说,这只是一个示例字符串,我需要为类似但不同的字符串找到一致的解决方案。

我正在尝试 运行 以下内容:SELECT REGEXP_REPLACE('[{"x":"y","s":"G_1","cn":"C8"},{"cn":"M2","gn":"G_2","cn":"CA99"},{"c":"ME3","gn":"G_3","c":"CA00"}] ','[{[}]":]','')

但是收到了几乎相同的字符串..

提前致谢!

您需要转义特殊字符(\),并指定您要对每个字符('g')重复操作,否则它将在第一个匹配处停止

 SELECT REGEXP_REPLACE(
    '[{"x":"y","s":"G_1","cn":"C8"},{"cn":"M2","gn":"G_2","cn":"CA99"},{"c":"ME3","gn":"G_3","c":"CA00"}] ',
     '[{\[}\]":]',
     '',
     'g');
                  regexp_replace
--------------------------------------------------
 xy,sG_1,cnC8,cnM2,gnG_2,cnCA99,cME3,gnG_3,cCA00
(1 row)