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

PostgreSQL中移除数字后的空格 寻求实现方案

PostgreSQL 移除文本中数字后空格的实现方法

需求说明:需要移除文本里数字(包含小数形式)后面紧跟的空格,输入输出示例如下:

输入示例

medication_title

CLORIDRATO DE VENLAFAXINA 75 MG
VIIBRYD 40 MG
KTRIZ UNO 0.6 U/G

输出示例

medication_title                     medication_title2

CLORIDRATO DE VENLAFAXINA 75 MG     CLORIDRATO DE VENLAFAXINA 75MG 
VIIBRYD 40 MG                       VIIBRYD 40MG
KTRIZ UNO 0.6 U/G                   KTRIZ UNO 0.6U/G

实现方案

在PostgreSQL中,可通过regexp_replace()函数配合正则表达式完成需求,核心是匹配数字(整数/小数)后的空格并将其替换为空。

正则逻辑说明

  • (\d+\.?\d*):匹配数字片段,\d+匹配1个及以上数字,\.?匹配可选小数点,\d*匹配小数点后可选数字,覆盖整数和小数场景
  • \s:匹配数字后紧跟的单个空格
  • 用反向引用\1保留匹配到的数字部分,仅替换掉后续空格

示例SQL

假设存在表medications,包含medication_title字段,执行以下语句即可生成处理后的字段:

SELECT 
  medication_title,
  regexp_replace(medication_title, '(\d+\.?\d*)\s', '\1', 'g') AS medication_title2
FROM medications;
  • 参数'g'代表全局替换,会处理文本中所有符合规则的匹配项,而非仅替换第一个。

执行上述语句后,就能得到示例中的输出效果,精准移除数字后的空格。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 02:46:24