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

Redshift中移除药物名后关联的数字及相连非数字字符

问题:移除药物名称后关联的剂量字符

原始表数据:

molecule_name 
DOXICICLINA 100MG 
CAFEINA 50MG E DIPIRONA 300MG E CITRATO DE ORFENADRINA 35MG 
DIOSMINA 450MG E HESPERIDINA 50MG 

期望处理结果:

new_molecule_name
DOXICICLINA 
CAFEINA E DIPIRONA E CITRATO DE ORFENADRINA 
DIOSMINA E HESPERIDINA

尝试过的正则语句:

regexp_replace(molecule_name,'([0-9.])','') as new_molecule_name

执行后残留了与数字关联的非数字字符(如MG):

DOXICICLINA MG
CAFEINA MG E DIPIRONA MG E CITRATO DE ORFENADRINA MG 
DIOSMINA MG E HESPERIDINA MG

需调整正则,实现仅替换药物名称后紧跟的数字+关联非数字字符组合,保留其他内容。


解决方案

使用以下正则替换语句即可满足需求:

regexp_replace(molecule_name, '\s+\d+[A-Za-z]+', '', 'g') as new_molecule_name

正则规则说明:

  • \s+:匹配药物名称与剂量之间的一个或多个空格
  • \d+:匹配剂量部分的一个或多个数字
  • [A-Za-z]+:匹配剂量单位的一个或多个字母(如MG)
  • 'g':全局替换标志(确保替换所有符合条件的匹配项,部分数据库默认全局替换,可省略该参数)

如果需要更精准匹配大写剂量单位,可将字母匹配部分改为[A-Z]+:

regexp_replace(molecule_name, '\s+\d+[A-Z]+', '', 'g') as new_molecule_name

执行后即可得到仅保留药物名称和连接词的结果,完全符合预期。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 20:55:12