提取数字
提取数字,是指把文本、日志或账单文字里散落的数字全部抓出来,输出成一列干净的数字并给出个数、求和与平均值;在小鹿tools,提取在浏览器本地完成、文本不上传,原文一字不改。小数、负数、千分位 1,234、中文数字 一千二百三十四 等 13 种写法都认,日期 2026-08-10 与 18 位身份证号整体保留不拆散、不丢精度,求和走定点算术,0.1+0.2 精确得 0.3。没提的数字都会写明原因。
粘进来就能用:默认提取全部数字,日期、IP、手机号按整体保留,网址里的数字自动跳过。原文一个字都不会被改动。
🔒 扫描与统计全部在你的浏览器本地用 JS 完成,文本不上传任何服务器,关闭页面即清除;本地只记住你的 勾选偏好,不保存文本内容。本工具只读不改原文:上面输入框里的文字一个字都不会被改动, 结果是新产生的一份数字清单。求和走定点整数算术,0.1 + 0.2 得到的是精确的 0.3;超过 15 位的长号码 一律按原样字符串保留,绝不转成 JS 数值。
如何使用提取数字
粘贴文字,或拖入 .txt / .md / .csv / .log / .json / .srt / .sql 纯文本文件(单文件 10 MB 以内,按 UTF-8 读取)。从 Excel 直接选中单元格复制粘贴也可以。粘完立刻出结果,每种数字写法旁边会实时显示「本文中有 N 个」。
选一个预设(提取全部数字 / 金额提取与求和 / 单号编号提取 / 只要整数 / 数值统计 / 中文数字转阿拉伯),或者手动勾选 13 种数字写法。日期、IP、手机号这类结构化数字串有「整体保留 / 拆开 / 跳过」三档,每一档旁边都有 2026-08-10 的常驻示例。还能设去重、排序、区间、每行只取第一个。
看统计条与统计卡(个数、求和、平均、最大最小、中位数),再按需要切换输出格式:每行一个、逗号分隔、Excel 求和公式、六列 TSV 或 JSON,然后复制或下载 txt / csv。对结果有疑问就看「被排除的位置」表,每一处没提的数字都写清了原因。
关于提取数字的常见问题
- 提取数字会上传我的文字吗
- 不会上传。扫描、识别与统计全部在你的浏览器里用 JavaScript 完成,页面没有任何一次把内容发往服务器的请求,关闭或刷新页面即全部清除。本页也不把文本写进 localStorage,只记住你勾了哪些数字写法这类参数偏好。所以处理账单、聊天记录、客户名单、订单号也可以放心使用,断网状态下同样能用。另外本工具是只读的:输入框里的原文一个字都不会被改动,结果是新产生的一份数字清单。
- 提取数字能认出哪些数字写法
- 勾选框一共 13 项:整数 42、小数 3.14、千分位 1,234,567、百分比 50%、科学计数法 1.5e3、分数 3/4、全角数字 123、中文数字 一千二百三十四、大写金额 壹贰叁、罗马数字 Ⅻ、圈号 ①、上下标 ²,再加上第 13 项「结构化数字串」——日期、时间、IP、版本号、手机号、身份证号、长单号、数值区间这八个子类型会被当成一个整体识别。负数没有单独的勾选框,-7 由整数与小数带着负号一起认。每一项都能单独勾选或关闭,页面正文里有完整对照表,勾选框旁边还会实时告诉你本文中各有多少个。其中分数与罗马数字默认关闭,因为 8/10 可能是日期、单个 I 和 X 会误伤英文。
- 提取数字时 1,234 会被拆成两个吗
- 不会。千分位是内置形态,1,234,567 会作为一个数 1234567 提取出来,单位「元」也能一并记下。这正是直接用 \d+ 正则最常踩的坑:裸正则还会把 3.14 拆成两个数、把 -5 提成 5、把 2026-08-10 提成三个数、把 192.168.1.1 提成四个数。需要注意的是分组必须正好三位才算千分位,1,23 这种不成立的写法会按 1 和 23 两个数处理,这个口径在实现里定死并有单测钉住。
- 日期 2026-08-10 提取数字时会被拆散吗
- 默认不会。日期、时间 12:30、IP 192.168.1.1、版本号 v1.2.3、手机号、身份证号、长单号、区间 3-5 这八类会作为「结构化数字串」整体保留一条,并标出具体是哪一类,同时不参与求和(日期没有数值语义)。如果你确实要统计年月日,把「结构化数字串」切到「拆开」,2026-08-10 就变成 2026、8、10 三条;如果日期只是噪音,切到「跳过」,页面会告诉你跳过了多少处、分别是哪几类。3-5 天这种写法默认判为区间而不是 3 和 -5,也是同一套规则。
- 提取数字后怎么直接求和不出误差
- 结果区就有求和、平均、最大、最小、中位数,不用再复制到 Excel。求和用的是定点整数算术:先把所有数按最大小数位缩放成整数、用 BigInt 累加、再插回小数点,所以 0.1 + 0.2 得到的是精确的 0.3,不会出现 0.30000000000000004 这种浮点尾巴,1,234.50 加 2,000 得到的是 3234.50。平均值和中位数涉及除法,页面会明确标上 ≈ 并写清保留了几位小数,绝不把近似值伪装成精确值。日期、IP、手机号和超过 15 位的长号码不参与求和:统计卡有一格专门显示结构化数字串有多少条,长号码有几个则写在结果区上方的提示行里,不会闷着不说。
- 提取数字时身份证号会不会丢精度
- 不会。超过 15 位的数字一律按原样字符串保留,绝不转成 JS 数值——转了就会变成 6222021234567890000 这种末尾抹零的结果。19 位银行卡号、18 位身份证号、长订单号都会出现在结果列表里并标上「长号码」,只是不参与求和;排序时也走定点比较而不是转数值比较,所以顺序不会乱。导出 CSV 时对这些列做了防科学计数法处理,用 Excel 打开不会变成 6.22202E+18。用「单号编号提取」预设可以一次配好这套参数。
- 中文数字一千二百三十四能提取成 1234 吗
- 可以,中文数字和大写金额数字都是默认勾选的形态。数位读法:一千二百三十四 → 1234、一百零八 → 108、十五 → 15、两百 → 200、廿三 → 23、三千五百六十亿 → 356000000000(内部用 BigInt 累加,不会丢精度)。逐位读法:二〇二六 → 2026、壹贰叁肆 → 1234。另外 1.5万 会展开成 15000。要注意单个的「一」「三」不会被提取,因为「一起」「三思」「不三不四」里的它们不是数字,这是为了准确率有意为之的;只有紧跟量词时(三个人)才会认。
- 提取数字时网址和代码里的数字会提吗
- 网址、邮箱、文件路径里的数字默认不提,否则 www.a2b.com 会莫名多出一个 2;HTML 实体 ' 和 m² 这类单位上标也默认排除。代码块与行内代码里的数字默认会提,因为日志和代码里的数字往往正是你要的,需要时可以在「哪些位置的数字不提」里勾上。行首序号 1. 2) 默认也提,勾上对应规则就能去掉列表噪音。最重要的是:被排除的位置都会进「被排除的位置」表,写清行列号、片段和原因,可以逐条核对;超过 500 处时表里逐条记录前 500 处,总处数照样写在标题上——静默漏抽在这里是不允许的。
- 提取数字能去重排序和按大小筛选吗
- 能。去重按数值算,1,234 和 1234 视为同一个(不是按原文比字符串);排序按数值大小而不是字典序,结果是 2、10、100 而不是 10、100、2,19 位长号码参与排序时同样走定点比较不会乱序;还能设最小值和最大值区间、只要整数、只要正数,以及「每行只取第一个数字」——粘贴表格或成绩单时这条特别好用。这几步的施加顺序是固定的:先按行取、再按值筛、然后去重、最后排序,被筛掉的每一条也都能在「被排除的位置」里查到。
- 提取数字和用正则提数字有什么区别
- 用正则要你自己处理千分位、负号、小数、指数、日期整体性和长数字精度这一堆边界,写对不容易,而且写错了不报错、只是悄悄少几个数。本页把这些做成勾选项,并把每一处「为什么没提」列出来给你看。如果你本来就会写正则、要的是完全自定义的抽取规则,用正则测试更合适;要把数字从原文里删掉或替换掉,用批量查找替换,本工具只读不改原文;只是想按数字大小给整段文本排序,用文本排序。
- 提取数字和只保留数字是一回事吗
- 不完全是。搜「只保留数字」「去掉文字只保留数字」的人其实有两种诉求:一种是把数字抽成一列拿去统计、求和、排序,这正是本页做的;另一种是想保住原文的行列排版,只把非数字字符删掉,比如把一列带单位的表格洗成纯数字——那要的是原地替换,用批量查找替换写一条把非数字字符换成空的规则更合适。判断标准很简单:结果还需要保持原来的行结构和顺序,就是替换;结果是一列可以去重、排序、求和的数,就是提取。本工具只读不改,输入框里的原文一个字都不会动。
- 日志提取数字怎么不让时间戳和 IP 混进来
- 点「数值统计」预设,它把「结构化数字串」设成了跳过:时间戳 12:30:45、IP 192.168.1.1、版本号 v1.2.3、日期这些整体识别出来的串会被整条跳过,不进结果也不进求和,页面还会告诉你跳过了多少处、分别是哪几类。剩下的就是耗时、状态码、条数这类真正的数值,配上升序排序可以直接看分布。如果端口号或状态码也不想要,用最小值和最大值区间把它们挡在外面;反过来只想看时间戳,就把结构化数字串切回「整体保留」,再看结果清单的「类型」列。
- 提取数字能识别手机号和身份证吗
- 能按形状识别:独立的 11 位以 1 开头的数字串会标为手机号,18 位(末位可为 X)或 15 位标为身份证号,16 位以上标为长数字串,整体保留、不拆位、不转数值。但本页不做有效性校验,不判断号段是否真实存在、不算身份证校验位、不做银行卡 Luhn 校验,只负责把它们完整准确地捞出来。需要专门做号码校验请用对应的专用工具,本页的定位是「从非结构化文本里把所有数字捞成一列」。
- 提取数字免费吗有没有字数限制
- 完全免费,不用注册、不用下载软件,也不加水印,13 种数字写法、6 个预设、排除清单、精确求和这些功能都不分免费版付费版。原因很实在:提取全部由你自己的浏览器算完,站点不承担计算成本。限制只来自浏览器性能:建议单个文件 10 MB、单次 500 万字以内,超过 20 万字后不再边打边出结果,改成点「开始提取」再分片计算,带进度、可以随时取消,触到上限时页面会明确写出已处理到哪里,不会静默丢内容。结果清单默认展开前 20 条、结果框最多渲染前 5000 行,点「展开全部」或直接复制、下载拿到的都是完整数据。
- 提取数字支持哪些文件格式
- 可以直接拖入 .txt、.md、.csv、.log、.json、.srt、.sql 这七种纯文本文件,单个 10 MB 以内,一律按 UTF-8 读取;如果拖进来的是 GBK 编码或改了扩展名的二进制文件,页面会直接提示「该文件不是 UTF-8 纯文本,请另存为 UTF-8 后重试」,而不是给你一堆乱码数字。Word、Excel、PDF 不能直接拖,正确做法是打开文件、选中内容复制,再粘到输入框里——从 Excel 复制过来的单元格会带制表符,行列关系仍然在,配合「每行只取第一个」就能一列一列地取。粘贴这条路没有文件格式限制,只受 500 万字上限约束。
- 提取数字结果怎么导出到 Excel
- 有多种输出格式:每行一个数字、逗号或空格或自定义分隔、六列 TSV(值、原文、类型、单位、行列位置、上下文,可直接粘进 Excel 自动分列)、JSON 数组,以及 =1234.5+2000+3 这样的 Excel 求和公式串(公式过长会截断并告诉你省略了多少项)。也可以直接下载 UTF-8 带 BOM 的 txt 或 csv,用 Excel 或记事本打开都不乱码,长号码列做了防科学计数法处理。导出的 CSV 还能接着用 CSV 转 Excel 做透视表。
- 手机上能用提取数字工具吗
- 能,用手机浏览器打开本页粘贴文字就能提,不用装 App、不用注册,提取同样在手机本地完成、文字不上传。移动端做过适配:6 个预设按钮会自动换行排开,13 个数字写法勾选框与统计卡在窄屏下一行一项铺满、标签在上控件在下互不挤压,结果清单与被排除清单可以横向滚动看完各列,两个文本框纵向堆叠。从微信、短信、备忘录里复制过来的账单和订单文字,正好用「金额提取与求和」预设一次算出总额。
提取数字支持哪些数字写法:13 种形态完整对照表
下面这张表和页面的提取实现共用同一份数据,看到什么就一定按什么提。 每一种形态都能单独勾选或关闭,关掉之后文本里的这类数字会进入「被排除的位置」表并写明 「该数字形态未勾选」,而不是悄悄消失。
| 形态 | 例子 | 提取结果 | 识别说明 | 默认 |
|---|---|---|---|---|
| 整数 | 共 42 个 | 42 | 连续的阿拉伯数字,可带正负号 | ✔ 勾选 |
| 小数 | 温度 -7.5 度 | -7.5 | 带小数点的数,支持 .5 这种省略整数部分的写法 | ✔ 勾选 |
| 千分位 | 总额 1,234,567 元 | 1234567 | 每三位一个逗号(或窄空格)的写法,整体算一个数而不是拆成三个 | ✔ 勾选 |
| 百分比 | 增长 50% | 50 | % % ‰ ‱ 会记进单位列,可选换算成小数 | ✔ 勾选 |
| 科学计数法 | 1.5e3 | 1500 | e / E / ×10^ 三种写法,一律展开成完整十进制 | ✔ 勾选 |
| 分数 | 3/4 杯 | 0.75 | 斜杠分数,除不尽的按 10 位小数近似并标记;开启后 3/4 会按 0.75 提取,日期 8/10 和路径 a/b 也可能被误认成分数 | ✘ 关闭 |
| 全角数字 | 123.5 | 123.5 | 0-9 与全角小数点,按半角数值提取(原文不改动) | ✔ 勾选 |
| 中文数字 | 一千二百三十四 | 1234 | 数位读法与逐位读法都认;单个「一」「三」不提取,避免把「一起」「三思」当成数字 | ✔ 勾选 |
| 大写金额数字 | 陆万柒仟 | 67000 | 壹贰叁肆伍陆柒捌玖拾佰仟萬亿,合同与发票里的写法 | ✔ 勾选 |
| 罗马数字 | Ⅻ | 12 | Ⅰ-Ⅻ 等 Unicode 罗马数字,以及 XIV 这类两位以上的合法 ASCII 写法;开启后英文里的 II、XX、CD 等字母组合可能被当成罗马数字(单个字母永不认) | ✘ 关闭 |
| 圈号与带括号数字 | ①②③ | 1 | ① ⑴ ⒈ ㉑ ㊿ ⓪ 等带圈、带括号、带点的序号 | ✔ 勾选 |
| 上下标数字 | 脚注 ² | 2 | ⁰¹²³⁴⁵⁶⁷⁸⁹ 与 ₀-₉;紧跟在字母后的 m² 默认按单位排除 | ✔ 勾选 |
| 结构化数字串 | 2026-08-10 | 2026-08-10 | 日期、时间、IP、版本号、手机号、身份证号、长单号、区间——整体保留一条,不拆散 | ✔ 勾选 |
结构化数字串的 8 个子类型:为什么它们不该被拆开
这八类数字串的每一段单独拿出来都没有意义——日期的 08 不是数量、IP 的 168 不是金额。 它们默认整体保留一条并标出子类型,也不参与求和。本页只按形状归类,不做有效性校验:不判断手机号段是否真实存在、 不算身份证校验位、不做银行卡 Luhn 校验。 要的就是里面的号码而不是数字,请用提取手机号——那边判号段运营商、配对姓名、按 E.164 去重,还会把身份证、银行卡、订单号里凑出来的 11 位挡在门外,而本页恰恰会把这些长号码原样保留成一条。
| 子类型 | 例子 | 形状 |
|---|---|---|
| 日期 | 2026-08-10 | 年-月-日 / 年/月/日 / 年.月.日 / 2026年8月10日 |
| 时间 | 12:30:45 | 时:分 / 时:分:秒 / 时:分:秒.毫秒 |
| IP 地址 | 192.168.1.1 | 四段 0-255 用点连接 |
| 版本号 | v1.2.3 | v 前缀,或三段及以上的点分数字 |
| 手机号 | 13800138000 | 独立的 11 位纯数字且首位是 1(不校验号段) |
| 身份证号 | 110101199003074516 | 独立的 18 位(末位可为 X)或 15 位(不算校验位) |
| 长数字串 | 6222021234567890123 | 独立的 16 位以上纯数字,银行卡号与订单号 |
| 数值区间 | 3-5 天 | 数字-数字 / 数字~数字,整体一条而不是 3 和 -5 |
提取数字的五条排除规则:哪些位置默认不提
| 规则 | 例子 | 默认 | 关掉的后果 |
|---|---|---|---|
| 网址、邮箱与文件路径 | www.a2b.com/v2、api/v2/list、C:\log\1.txt | ✔ 开启 | 关掉后网址和文件路径里的数字也会被提出来(www.a2b.com 会多出一个 2) |
| 代码块与行内代码 | `const a = 1;` | ✘ 关闭 | 默认就是会提,勾上后才不提 |
| 行首序号 | 1. 第一条 | ✘ 关闭 | 默认就是会提,勾上后才不提 |
| 单位里的上下标 | m²、km³、CO₂ | ✔ 开启 | 关掉后 m² 的 2、CO₂ 的 2 也会被提取 |
| HTML 实体 | ' | ✔ 开启 | 关掉后 HTML 实体 ' 里的 39 也会被提取 |
无论因为哪条规则、哪个未勾选的形态、还是哪个筛选条件而没提, 页面都会在「被排除的位置」表里列出行列号、原文片段和人话原因 (超过 500 处时逐条记录前 500 处,总处数如实写在表头上)。 这张表默认就是展开的,因为静默漏抽等于工具坏了—— 用户抱怨「我的中文数字怎么没提出来」时,答案必须在页面上。
提取小数和负数、千分位、百分比分别怎么勾
这几种形态之间会互相牵动,勾之前值得先看一眼,最容易悄悄丢数的就是它们:
- 提取小数和负数没有单独的开关:
3.14与-7.5都归「小数」,负号跟着数一起认,没有「负数」那一格。关掉「小数」之后3.14不会退成 3 和 14, 而是整条进「被排除的位置」并写明「小数未勾选」——这一点和裸正则的行为正好相反。 - 提取千分位数字要求分组正好三位:
1,234,567认,1,23不认(按1和23两个数处理)。 - 提取百分比数字默认只记单位、不换算:
50%的值就是 50、 单位列记%;要拿到 0.5 就打开百分比换算开关,换算后单位列会标明。 - 提取科学计数法认三种写法:
1.5e3、1.5E3、1.5×10^3一律展开成1500;指数绝对值超过 1000 的(比如1e2000)直接跳过并写进被排除清单, 理由写的是「科学计数法指数超过 1000,已跳过」,不会产生 Infinity 污染统计。 - 要提取日期不拆开,「结构化数字串」保持默认的「整体保留」就行, 不用另外配;只有切到「拆开」,
2026-08-10才会变成 2026、8、10 三条。
为什么不能直接用 \d+ 提取数字
很多人第一反应是拿 \d+ 在编辑器里全局匹配,或者用批量查找替换把非数字删掉。 问题是真实文本里的数字几乎从不是「一串连续的 0-9」,下面十条是最常见的翻车现场:
| 原文 | 裸 \d+ 的结果 | 本工具的结果 |
|---|---|---|
1,234 | 1、234(拆成两个数) | 1234(千分位是内置形态) |
3.14 | 3、14(小数点被当分隔符) | 3.14 |
-5 | 5(负号丢了) | -5(且 A-7 里的横线不会被当负号) |
2026-08-10 | 2026、8、10(日期被拆成三个数) | 2026-08-10 整体一条,标为日期 |
192.168.1.1 | 192、168、1、1(四个数) | 192.168.1.1 整体一条,标为 IP |
1.5e3 | 1、5、3(指数被拆碎) | 1500 |
50% | 50(单位丢了,也无法换算) | 50,单位记为 %,可选按 0.5 输出 |
m² | 多出一个 2 | 默认按单位排除,并在「被排除的位置」里列出来 |
www.a2b.com | 莫名多出一个 2 | 网址整串跳过,可一键关闭该规则 |
12345678901234567890 | 12345678901234567000(转数值就丢精度) | 原样字符串保留,标为长号码,不参与求和 |
这些坑最麻烦的地方不是难修,而是修错了不会报错: 正则照样跑完、照样吐出一列数字,只是那列数字多了几个、少了几个、或者精度悄悄变了, 等到发现总额对不上时已经不知道错在哪一步。本页把这些判断做成勾选项, 并把每一处「为什么没提」都摆出来,让结果可以逐条核对。
一个具体的例子:A-7 里的横线不是负号(前一个字符是字母),提出来是7;行首的 -7 是负号,提出来是 -7;3-5 天 两侧都是数字且中间没有空格,判为区间整体保留而不是 3 和 -5。 这三条规则用一个正则很难同时写对,本页把它们固化成一条判定: 只有紧邻的前一个字符不是字母、数字或右括号时,- 才算负号。
如果你本来就会写正则、要的是完全自定义的抽取规则,正则测试更合适; 要把数字从原文里删掉或替换成别的内容,用批量查找替换—— 本工具只读不改原文,永远不做回写。要的不是数字而是那段文本里的网址,用提取链接—— 那边把网址当结果提取,这边把网址当噪音排除,两边对「哪一段是网址」的口径由交叉测试守着。 要的是报名表、抄送列表里的邮箱地址,用提取邮箱—— 本页会把 a@b.com 里的数字当噪音排除掉,那边则把整条地址提出来并配上姓名。
提取数字之后怎么求和才不出错
提取只是第一步,绝大多数人接下来要做的是把这些数字加起来。 这一步有两个几乎人人都会踩的坑,本页都在实现层面解决了。
提取数字求和算例:一段账单为什么合计 1272.50
把这一行原样粘进输入框(保持默认参数):午餐 ¥38.50,打车 ¥1,234,日期 2026-08-10,订单号 6222021234567890123,结果是 4 条:38.50(小数,单位 ¥)、1234(千分位,单位 ¥)、2026-08-10(结构化数字串·日期)、6222021234567890123(结构化数字串·长数字串)。参与求和的只有前两条,合计 1,272.50、平均 ≈636.25;日期没有数值语义、19 位订单号超出双精度安全位数, 两条都整体保留在结果列表里但不进总额,统计条会写明「另有 2 处结构化数字串按整体保留」。 换成裸 \d+ 去匹配,这行会被提成 38、50、1、234、2026、08、10 加一串被截断的订单号, 总额自然对不上。
提取数字求和时 0.1 + 0.2 为什么不等于 0.3
JavaScript(以及几乎所有用二进制浮点的语言)里 0.1 + 0.2 的结果是 0.30000000000000004,因为 0.1 在二进制里是无限循环小数。 几百笔金额一路加下来,尾巴就会冒到小数点后第二位,和财务对账对不上。 本页的做法是不碰浮点:每个数以十进制字符串为唯一真相, 求和时先取出最大小数位数 d,把所有数缩放成整数用 BigInt 累加,再按 d 插回小数点。 所以 0.1 加 0.2 得到的是精确的 0.3,1,234.50 加 2,000 得到的是 3234.50。
身份证号提取不变科学计数法要怎么设置
不用设置,默认就是这样:要提取长数字不丢精度,唯一可靠的办法是全程不转数值。 双精度浮点只能精确表示 15~16 位有效数字,Number("12345678901234567890") 会变成 12345678901234567000,末尾几位直接被抹掉,而且不会有任何报错。 本页对超过 15 位的数字一律按原样字符串保留、不转数值, 它们仍然出现在结果列表里(标着「长号码」),只是不参与求和; 排序时也走定点比较而不是转数值比较,所以 19 位号码的顺序不会乱。 导出 CSV 时这些值会写成 ="6222021234567890123" 的形式钉成文本, 用 Excel 打开不会变成科学计数法。
提取数字后哪些条目不参与求和,为什么
- 结构化数字串(整体保留档):日期、时间、IP、版本号、手机号、身份证号 没有数值语义,把 2026-08-10 加进总额毫无意义。
- 「单号编号提取」预设下的全部条目:这个预设明确关闭了数值转换, 要的就是原样字符串。
- 超过 15 位的长号码:理由见上一段。
- 指数绝对值超过 1000 的科学计数法:直接跳过并计入被排除清单, 绝不产生
Infinity污染统计。
提取数字的平均值和中位数为什么标 ≈
平均值和中位数都涉及除法,除不尽时只能保留有限位小数(本页按定点多保留两位并四舍五入)。 这时页面会在数字前挂一个 ≈ 并写清保留了几位,绝不把近似值伪装成精确值。同理,开启分数形态后 1/3 会按 10 位小数记成 0.3333333333 并标为近似, 只要参与求和的数里有一个近似值,统计卡的「求和」也会注明「含近似值」。 而 3/4 这种除得尽的分数是精确的 0.75,不会被标近似。
提取数字后怎么统计个数、求和、排序、去重
提取只是第一步。提取之后的整理被固定成四步,先按行取 → 再按值筛 → 然后去重 → 最后排序,顺序是规范的一部分。 顺序不能换:先去重再按行取,重复行里本该保留的那一条会被跨行吃掉, 结果少几条却不会报错。被这四步筛掉的每一条,同样会进「被排除的位置」并写明是哪一步筛的。
提取数字并统计个数时,统计卡上四个数在数什么
统计卡里和「个数」有关的格子有四个,含义完全不同,对不上账时先确认没看错格:提取到是结果清单里的总条数;去重后是按数值去重之后还剩几条;结构化是其中有多少条是日期、IP、长号码这类整体保留、不参与求和的条目;被排除是因为形态没勾、位置被排除或区间筛掉而根本没进清单的处数。 一段真实账单里这四个数很少相等,怀疑总额不对时先看这四格,问题多半就在里面。
提取数字并求和与提取数字后求平均值分别按什么口径
求和只把能转成数值的条目算进去,走定点整数算术,给出的是精确值; 提取数字后求平均值则是求和除以参与求和的条数(不是「提取到」那个数), 除不尽时会挂 ≈ 并写清保留了几位。想一步拿到总额,点「金额提取与求和」预设—— 很多人搜的「提取数字求和工具」「提取金额求和」说的就是这一步, 结果区直接给数,不必再复制到表格里拉一遍公式。
提取数字后排序和提取数字去重是按数值还是按原文
两个都按数值,不按原文字符串。提取数字后排序给出的是 2、10、100, 而不是字典序的 10、100、2;19 位长号码不转数值,排序时走定点比较,顺序同样不会乱。 提取数字去重也按数值:1,234 与 1234 算同一个,¥38.50 与 38.5 也算同一个。 如果你要的恰恰是「原文写法不同就算两条」,那就别开去重, 改用六列 TSV 导出,在表格里按「原文」列自己判断。
中文数字识别规则:一千二百三十四怎么变成 1234
中文数字有两种完全不同的读法,本页按串本身自动判定,并在结果清单的「类型」列标出来:
本页做的是中文数字转阿拉伯数字的识别与取值:结果清单的 「原文 → 值」两列就是转换结果,可以直接复制走。大写金额转数字走的是同一套规则,陆万柒仟 取到的值是 67000,形态列标「大写金额数字」。 如果要的是把整篇文章里的中文数字就地改写成阿拉伯数字、原文其余部分一字不动, 那是另一件事,见本节末尾的说明。
- 数位读法(串里含十、百、千、万、亿任一):按「小节累加 + 万/亿进位」计算。
一千二百三十四= 1000 + 200 + 30 + 4。 - 逐位读法(全是数字字、没有数位字):一个字一位直接拼起来。
二〇二六= 2026。
| 原文 | 提取结果 | 规则 |
|---|---|---|
一千二百三十四 | 1234 | 数位读法:含十百千万亿,按小节累加 + 万/亿进位 |
一百零八 | 108 | 「零」在数位读法里是占位符 |
十五 | 15 | 「十」前面没有数字时按 1 算 |
两百 | 200 | 「两」等同于「二」 |
廿三 | 23 | 廿卅卌 是 20/30/40 的合写 |
三千五百六十亿 | 356000000000 | 超过双精度安全整数,内部走 BigInt 累加 |
二〇二六 | 2026 | 逐位读法:全是数字字、没有数位字 |
陆万柒仟 | 67000 | 大写金额数字,归入「大写金额数字」形态 |
三十多人 | 30 | 「多」不是数字,不参与解析 |
一起 / 三思 / 不三不四 | 不提取 | 单个中文数字字在汉语里绝大多数不是数字 |
一一对应 | 不提取 | 两个相同数字字不走逐位读法,避免把词读成 11 |
1.5万 | 15000 | 阿拉伯数字后紧跟的万/亿/千按倍率展开 |
为什么单个「一」「三」不当中文数字提取
因为在汉语里它们绝大多数时候不是数字:一起、一定、一般、三思、 不三不四、十分、万一……如果见字就提,一篇正常的中文文章能被提出几百个假数字, 这个工具也就没法用了。所以规则定成:单个中文数字字默认不提取, 只有紧跟量词时(三个人、一台电脑)才认; 而一整串中文数字字如果解析不成合法数字(一一对应、万一), 整串跳过,不会退回去逐字重试。这是本工具准确率的生死线,宁可少提也不乱提。
1.5万提取数字时算 15000 还是只记单位
在中文数字串里,万 和 亿 是数位:陆万柒仟 = 67000,此时它们被数值本身吃掉,不会再记成单位。 跟在阿拉伯数字后面时按倍率展开:1.5万 = 15000、3千 = 3000、2亿 = 200000000。而 3.5kg 这类只记单位不做换算,50% 默认也只记单位 %、不换算成 0.5(需要的话有一个开关)。 要把整篇文本里的全角数字转成半角,请用全角半角转换—— 本页遇到 123 会按 123 识别提取,但不输出转换后的原文。 识别之后还要把原文里的数字改写成中文(或把中文数字改回阿拉伯数字),用 中文数字互转—— 它的整篇替换复用本页这套定位规则,网址、代码、日期、手机号照样原样不动。
日志、聊天记录、账单文字提取数字有什么不同
材料不同,混进来的噪音数字也完全不同:日志里最多的是时间戳和 IP, 聊天记录里是昵称和消息时间,账单里则是千分位与货币符号。 与其提完再逐条删,不如一开始就按来源把预设选对。
| 要做的事 | 最常混进来的噪音 | 建议参数 |
|---|---|---|
| 从服务器日志提取数字 | 时间戳 12:30:45、IP 192.168.1.1、端口 8080、版本号 v1.2.3 | 「数值统计」预设(结构化数字串设为跳过),只留耗时、状态码这类真数值 |
| 微信聊天记录提取数字 | 昵称里的数字、每条消息前的时间、引用块里的编号 | 在「哪些位置的数字不提」里勾上「行首序号」;要算钱再切「金额提取与求和」 |
| 账单文字提取金额并合计 | 千分位 1,234、货币符号 ¥$€、开票日期、卡号后四位 | 「金额提取与求和」预设;货币符号进结果的「单位」列,不影响求和 |
| 从 txt 提取数字(log、csv 同理) | 文件不是 UTF-8 时整篇读成乱码,乱码里还能凑出假数字 | 直接拖进来,一律按 UTF-8 读取;编码不对会明确报错,而不是给你乱码数字 |
| 订单短信里提取订单号 | 19 位单号转成数值后末尾被抹零 | 「单号编号提取」预设,全程不转数值,导出时把这列钉成文本 |
| 成绩单提取分数、表格粘贴取值 | 学号、班级号跟着分数一起被求和 | 「每行只取第一个」,再用最小值/最大值区间把学号那种大数挡在外面 |
| 代码字符串中提取数字 | 端口、超时毫秒数、版本号、颜色值里的数字 | 代码块里的数字默认就提;不想要就在排除规则里勾上「代码块与行内代码」 |
不管哪种来源,都建议先只粘前几行试一遍、对着「被排除的位置」确认口径对不对, 再把整份文本粘进来。参数偏好会记在本机,下次打开还是这一套,不用重新勾。
提取数字一般用来做什么:6 个真实场景
- 聊天记录、账单文字里提金额并求和:把微信聊天记录或账单文字整段粘进来,点「金额提取与求和」预设:只留数值形态、捕获 ¥$€元 单位、日期自动跳过,结果区直接给出精确总额。求和走定点整数算术,几百笔小数金额加起来也不会冒出 0.30000000000000004 这种尾巴。
- 日志里提耗时、分数做分布分析:点「数值统计」预设,全数值形态 + 结构化数字串跳过 + 升序排序,统计卡一次给出个数、求和、平均、最大、最小、中位数与去重后个数。时间戳与 IP 不会混进来当数字,1 MB 的单行日志也不会卡死。
- 订单短信、快递单提单号(保精度):点「单号编号提取」预设:结构化数字串整体保留、完全不转数值,18 位身份证号、19 位银行卡号、长订单号原样输出。导出 CSV 时还做了防科学计数法处理,用 Excel 打开不会变成 6.22202E+18。
- 试卷、成绩单提分数:粘贴成绩单后把「每行取」设成「第一个」或「第 N 个」,一行一个分数干净地取出来,再切到升序排序看分布。学号那种长数字串会被识别成结构化数字串,不会混进分数里参与求和。
- 合同、公文里的中文数字批量转写:点「中文数字转阿拉伯」预设,只保留中文数字与大写金额数字,结果清单的「原文 → 值」两列可以直接复制走。壹贰叁肆、陆万柒仟、一千二百三十四、二〇二六 都能认。
- 提取后导出 CSV 接着处理:输出格式切到「六列 TSV」可以直接粘进 Excel 分列(值、原文、类型、单位、行列位置、上下文),或者下载 UTF-8 带 BOM 的 CSV,再用 CSV 转 Excel 继续做透视和图表。
需要按数字大小给整段文本排序(而不是把数字抽出来)请用文本排序;只想知道有多少字多少段用在线字数统计;顺手做去重、大小写、去空行用文本处理工具箱; 提取结果导出后继续做表用 CSV 转 Excel; 抽出来的是金额、还要写进支票或合同的大写栏,用数字转大写金额把 1234.56 转成 「人民币壹仟贰佰叁拾肆元伍角陆分」——本页只负责把数字挑出来,不管怎么写。
提取数字的 6 个一键预设分别提什么
六个预设用同一个示例串横向对比,点一下就是整套参数(形态勾选 + 结构化档位 + 排除规则 + 整理选项),点完之后照样可以手动改任意一项,改了就变成「自定义」。
| 预设 | 做什么 | 示例 | 典型场景 |
|---|---|---|---|
| 提取全部数字 | 全形态(分数与罗马数字除外)+ 结构化整体保留 + 跳过网址 + 原顺序输出 | 订单 2026-08-10 共 ¥1,234.50,退 3 件 → 2026-08-10、1234.50、3 | 通用抽取,不知道选什么就用它 |
| 金额提取与求和 | 只留数值形态并捕获 ¥$€元 单位,结构化数字串跳过,输出精确求和 | 订单 2026-08-10 共 ¥1,234.50,退 3 件 → 1234.50、3 | 从聊天记录、账单、发票文字里算总额 |
| 单号编号提取 | 结构化整体保留并关闭数值转换,原样字符串输出,绝不丢精度 | 订单 2026-08-10 共 ¥1,234.50,退 3 件 → 2026-08-10、3 | 提订单号、快递单号、身份证号、银行卡号 |
| 只要整数 | 只勾整数、全角数字、中文数字与圈号,结构化数字串跳过 | 订单 2026-08-10 共 ¥1,234.50,退 3 件 → 3 | 提数量、页码、编号 |
| 数值统计 | 全数值形态 + 结构化跳过 + 升序排序 + 完整统计卡 | 订单 2026-08-10 共 ¥1,234.50,退 3 件 → 3、1234.50 | 从日志里提耗时、分数做分布分析 |
| 中文数字转阿拉伯 | 只勾中文数字与大写金额数字,输出「原文 → 数值」两列 | 合计壹万贰仟元整,另付三百五十元 → 12000、350 | 合同、公文里的中文数字批量转写 |
这样设计是因为真实需求从来不是「把所有数字都提出来」这一种, 而是「只要金额、日期别混进来」「只要单号、一位都不能错」「只要整数、序号不算」 这类带条件的组合。
提取数字的几种常见说法分别指什么
同一件事有十几种说法,指向的做法却不完全一样:有人要的是一列干净数字, 有人要的其实是一段被删干净的原文。下面把常见说法对应到本页的具体操作, 也顺便标出哪几种该去别的工具。
| 常见说法 | 多半是想做什么 | 在本页怎么做 |
|---|---|---|
| 在线提取数字、提取数字在线 | 不想装软件,打开网页就能用 | 本页就是:粘贴即出结果,不用注册不用下载,页面加载完之后断网也能继续用 |
| 从文字中提取数字、怎么从文字里提取数字 | 手上有一段中文,要把里面的数拿出来 | 默认的「提取全部数字」预设直接用;留意日期、手机号默认是整体保留成一条 |
| 一段文字提取所有数字、从文本中提取所有数字、把文字里的数字都提出来 | 要的是一个都不漏 | 把「结构化数字串」切到「拆开」,再把默认关闭的分数与罗马数字也勾上 |
| 只保留数字、去掉文字只保留数字 | 两种诉求:抽成一列,或者把原文里的非数字删掉 | 要一列数字用本页;要保留原有行列排版只删非数字字符,该用批量查找替换 |
| 抓取数字 | 多半是想从某个网页上抓 | 本页不联网抓取:先在网页里复制正文再粘进来;只要网址本身请用提取链接 |
| 数字提取器、文本提取数字 | 工具本身的叫法 | 指的就是本页;别和「号码提取器」混了,那类工具只认手机号这一种形状 |
| 批量提取数字 | 一次处理很多行、很多条 | 整份文本一次粘完算完(单次 500 万字以内),逐行取值配「每行只取第一个」 |
| 提取数字不用写正则、正则提取数字怎么写 | 两类人:一类不想写,一类想写对 | 不想写就勾选项;想写对可以拿本页结果当对照答案,再去正则测试调你的表达式 |
英文资料里这件事叫 extract numbers from text,口语一点的说法是 pull all numbers out of text,在线工具多半叫 number extractor online,要连着算总额则是 extract and sum numbers online。有一点值得留意:英文工具大多只匹配「连续的 0-9 加一个可选小数点」这一种形态, 中文数字、大写金额、全角数字、廿卅这些写法基本会被整段漏掉, 拿来处理中文材料时提出来的条数会比本页少一截,而且少掉的部分不会有任何提示。