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

如何从格式不统一的[Description]列中提取末尾序列数字

你可以根据自己使用的工具,选择对应的正则提取函数实现需求,核心匹配规则是抓取字符串末尾最后一组连续8位数字,自动忽略末尾多余的非数字字符,适配你给出的格式不统一的场景。

Excel/WPS 场景

如果是支持正则函数的版本,直接使用REGEXEXTRACT,公式如下:

=REGEXEXTRACT(对应单元格, "\d{8}(?=[^\d]*$)")

如果使用的旧版Excel不支持正则函数,可以用嵌套函数数组公式实现,输入后按Ctrl+Shift+Enter生效:

=MID(对应单元格,MAX(IFERROR(FIND(ROW($1:$9),对应单元格,ROW($1:$100)),0))-7,8)

SQL 场景

不同数据库的正则提取函数语法略有差异:

  • MySQL:使用REGEXP_SUBSTR
SELECT REGEXP_SUBSTR(Description, '[0-9]{8}', 1, REGEXP_COUNT(Description, '[0-9]{8}')) AS extracted_num FROM 你的表名;
  • PostgreSQL:使用substring
SELECT substring(Description FROM '(\d{8})[^0-9]*$') AS extracted_num FROM 你的表名;
  • Hive/Spark SQL:使用regexp_extract
SELECT regexp_extract(Description, '(\\d{8})[^0-9]*$', 1) AS extracted_num FROM 你的表名;

Python Pandas 场景

使用str.extract方法实现批量提取:

import pandas as pd
df['extracted_num'] = df['Description'].str.extract(r'(\d{8})[^\d]*$')

以上方案匹配你给出的3条示例记录,输出结果和你预期的完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 23:12:03