【问题标题】:Remove brackets from postgres table column but keep words inside them从 postgres 表列中删除括号,但在其中保留单词
【发布时间】:2016-09-02 20:02:47
【问题描述】:

我有一个标题列,其中包含括号内的一些单词。我想删除括号,但使用 regexp_replace 保留当前在其中的单词。 我试过这个,但它似乎没有用。列中仍然有括号。

UPDATE test_table SET title = regexp_replace(title, '()', '', 'g');

【问题讨论】:

  • () 是有效的正则表达式语法。相反,请尝试使用“(|)”。

标签: database postgresql regexp-replace


【解决方案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"

干杯!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-09
    • 2017-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多