从 postgres 表列中删除括号,但在其中保留单词
Posted
技术标签:
【中文标题】从 postgres 表列中删除括号,但在其中保留单词【英文标题】:Remove brackets from postgres table column but keep words inside them 【发布时间】:2016-09-02 20:02:47 【问题描述】:我有一个标题列,其中包含括号内的一些单词。我想删除括号,但使用 regexp_replace 保留当前在其中的单词。 我试过这个,但它似乎没有用。列中仍然有括号。
UPDATE test_table SET title = regexp_replace(title, '()', '', 'g');
【问题讨论】:
() 是有效的正则表达式语法。相反,请尝试使用“(|)”。 【参考方案1】:未经测试,但假设这是常规正则表达式语法。
UPDATE test_table SET title = regexp_replace(title, '\(|\)', '', 'g');
或
UPDATE test_table SET title = regexp_replace(title, '[()]', '', 'g');
将 () 放入 []
意味着查找每个单个字符。使用|
表示“或”,但在这种情况下您需要将\
转义()。
【讨论】:
很好,很好的答案我使用了第二个选项,效果很好。【参考方案2】:您也可以为此使用 BTRIM 函数。示例:
BTRIM(title,'[]') as "title"
干杯!
【讨论】:
以上是关于从 postgres 表列中删除括号,但在其中保留单词的主要内容,如果未能解决你的问题,请参考以下文章