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

Presto中如何删除字符串里数字后的所有字符?

解决办法

核心思路是定位到最后一个数字的位置,将其之后的所有字符替换为空,以下是具体实现方案:

SQL环境下的正则替换语句

regexp_replace(field_name, '(?<=\d).*$', '')

正则逻辑说明

  • (?<=\d):正向肯定断言,确保当前位置的前一个字符是数字,精准锁定最后一个数字的后方位置
  • .*$:匹配从该位置到字符串结尾的所有任意字符
  • 将这部分匹配内容替换为空,就能得到从开头到最后一个数字的完整内容

你之前方法的问题

  • 第一个REPLACE语句用[^A-Za-z]替换空格,逻辑是把所有非字母字符转为空格,和需求完全不符
  • 第二个正则表达式存在语法错误(嵌套的[^属于无效写法),且/$仅匹配结尾的/符号,根本无法定位数字后的内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 22:45:39