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

如何用Excel公式提取字符串中长度大于5位的数字?

提取字符串中长度大于5位的连续数字

完全可以实现,核心思路是利用正则表达式匹配连续6位及以上的数字——因为日期相关的数字都是短位且带分隔符(比如02-22、02/2023),不会形成连续的长数字串,刚好和目标数字区分开。

核心正则表达式

使用以下正则即可精准匹配:

\b\d{6,}\b
  • \b:单词边界,确保匹配的是独立的数字串,不会误抓长文本中的数字片段
  • \d{6,}:匹配6位及以上的连续阿拉伯数字(满足你"长度大于5位"的要求)
  • \b:结尾的单词边界,避免数字后紧跟其他字符的情况

示例验证

针对你给出的三个案例:

  • 输入:xx company holding - 96923432 -02-22 → 匹配结果:96923432
  • 输入:yy Company (HOLDINGS) LTD - 131002204 - 02/2023 → 匹配结果:131002204
  • 输入:ab HOLDINGS LIMITED / 115472907 / Feb-23 → 匹配结果:115472907

常用工具中的实现

Excel(365及以上版本)

用REGEXEXTRACT函数直接提取:

=REGEXEXTRACT(A1, "\b\d{6,}\b")

如果需要处理无匹配的异常情况,可搭配IFERROR:

=IFERROR(REGEXEXTRACT(A1, "\b\d{6,}\b"), "无符合条件的数字")

Python

借助re模块快速提取:

import re

def get_target_number(text):
    match_result = re.search(r'\b\d{6,}\b', text)
    return match_result.group() if match_result else None

# 测试你的示例数据
test_cases = [
    "xx company holding - 96923432 -02-22",
    "yy Company (HOLDINGS) LTD - 131002204 - 02/2023",
    "ab HOLDINGS LIMITED / 115472907 / Feb-23"
]

for case in test_cases:
    print(get_target_number(case))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 22:31:14