如何从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)
我正在尝试使用 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)