You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL 11中如何批量替换字符串里的|及后续首字符?

PostgreSQL 11全局替换|及后续首个字符的正确SQL

你的问题出在regexp_replace默认只替换第一个匹配项,需要添加全局替换标志才能处理所有符合规则的子串。

正确的SQL语句如下:

select regexp_replace('|aDerivatives :|bprinciples and practice /|cRangarajan K. Sundaram, |fSanjiv R. Das.', '\|[A-Za-z]', '', 'g');

关键说明:

  • 第四个参数'g'是PostgreSQL中regexp_replace的全局替换标志,指定后会替换字符串中所有匹配\|[A-Za-z]模式的子串,而不是仅第一个。
  • 你的原始语句未添加该标志,因此只替换了第一个出现的|a,其余|b、|c、|f均未被处理。

执行上述语句后,输出结果将符合你的预期:

"Derivatives :principles and practice /Rangarajan K. Sundaram, Sanjiv R. Das."

内容的提问来源于stack exchange,提问作者franco

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 09:37:05