从 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 表列中删除括号,但在其中保留单词的主要内容,如果未能解决你的问题,请参考以下文章

从 CSV 填充 postgres 表列时出现非空约束错误

如何删除 Spark 表列中的空格(Pyspark)

如何处理以保留 Sql 关键字命名的表列?

Sql 从一个表列中选择一个最小值,并在一个 SQL 语句中将结果插入到另一个表列中

学说 2 在 Postgres 表列上窒息

如何查询从表列中选择所有输入