如何将长度未知的相同字符的链从字符串替换为唯一出现的字符串?

时间:2019-04-04 13:48:48

标签: postgresql

我的数据库中有以下字符串,在我们将其命名为“ info”的列中,在可以称为“对话”的表中:

Hello, I''''''''''''''''m Brian and I''''m looking for the kitchen

我想知道是否有可能将''''''替换为PostgreSQL中自身的一次出现。

所以:

Hello, I'm Brian and I'm looking for the kitchen

1 个答案:

答案 0 :(得分:2)

您可以使用regexp_replace

select regexp_replace(info, '''+', '''', 'g')
from conversation;

由于转义了单引号,所以正则表达式看起来有点怪异,但实际上它是:'+表示“至少一个单引号后跟任意数量的单引号”和替换值(第三个参数)只是一个单引号。

在线示例:https://rextester.com/HGWDZ41975