从文本中提取数字

只需粘贴任意杂乱的源文件(如发票、抓取的产品页面、聊天记录或带注释的CSV文件),即可获得其中所有数字组成的清晰列表。整数、小数、负数及货币格式数值均可通过单一正则表达式处理完成识别。输出结果已去重,每行仅包含一个数字,可直接导入电子表格、计算器或统计工具使用。

如何从文本中提取数字

  1. 1

    粘贴源文本

    直接插入文本内容,无论其多么脏乱,周围的单词和标点符号均会被忽略。

  2. 2

    选择精度

    启用“包含小数”选项以捕获`3.14`,或关闭该选项以仅提取整数形式(如`42`)。

  3. 3

    运行提取器

    每次匹配都会被记录,系统会保存唯一的数值,并统计出出现的不同数字的数量。

  4. 4

    复制列表

    每行一个数字,可直接粘贴到Excel、Numbers或任何基于列的工具中。

匹配器能够识别的内容

所使用的正则表达式在启用小数位时为 /-?\d+(?:\.\d+)?/,否则为 /-?\d+/。该规则可覆盖常见的数字格式,同时避免因地区设置差异导致的混淆。

采集值示例

输入 采集值(开启小数)
税后合计:1299.99 1299.99
气温降至 -4.5C -4.5
版本 2.1.3 今日发布 2.1, 3
编号:001, 042, 1007 001, 042, 1007
得分:87% 通过 87

本功能不处理的内容

  • 千位分隔符。 1,234.56 会被提取为 1234.56。如需获取完整数字,请先清除分隔符。
  • 欧洲式小数逗号。 3,14 会被读作 314。提取前请将逗号替换为小数点。
  • 科学计数法。 6.02e23 返回 6.0223。如需指数形式,请自行解析原始数据源。
  • 分数。 1/2 会变为 12,而非 0.5

有用的后续操作

  • 将列表输入统计工具,即可计算均值、中位数和标准差。
  • 使用 sort | uniq 排序并去重,找出日志中的唯一值。
  • 将两次提取结果并排对比,即可发现发票中缺失的条目。

常见问题

该工具会忽略货币符号,并仅返回数字部分。例如,$1,299.99会被转换为1299.99,因为逗号未被视作千位分隔符。若希望将1299.99完整呈现,请从源文本中删除逗号。

正则表达式会原样捕获数字序列,因此 007 仍显示为 007。这一点在数字代表标识符、部件代码或邮政编码而非算术值时尤为重要。

默认情况下系统会自动删除重复项,从而生成清晰且条目分明的列表。如需获取保留原始顺序的数据流,请使用类似grep命令的处理流程处理源数据。

文本会在请求处理过程中被处理,不会在响应后存储;您的输入内容不会保存在任何地方。

相关工具

此工具还提供其他语言版本