从文本里提取数字:整数、小数、金额、百分比一次抽干净
教你怎么从一段乱文本里把整数、小数、金额、百分比的数字提取出来,顺手去重、排序、求和,适合数据清洗和财务核对,全程本地处理不上传。
从一段乱文本里把所有数字提取出来,该怎么做
做数据的人多少都遇到过这种场景:手上一段文本,数字和文字混在一起,你只想要那些数字。可能是一张 PDF 收据里的价格,可能是一条客服日志里的订单号,也可能是别人甩给你的一列 CSV,每格里数字后面还跟着备注。手动一个个抠出来既慢又容易看错,把 19.99 抄成 1999 这种事,我自己就干过不止一次。
数字提取工具 解决的就是这件事:扫一遍文本,把里面所有数字挑出来,整数、小数、负数、带千分位逗号的金额、百分比,甚至 6.02e23 这种科学计数法都能认。下面说说它具体怎么用,以及哪些坑要避开。
它到底能提取哪几类数字
很多人以为数字提取就是抓连续的阿拉伯数字,其实没那么简单。一段真实文本里的数字形态远比想象的多:
- 普通整数,比如订单号 100482。
- 小数,比如单价 3.14。
- 负数,温度记录里的 -7.5,连 Unicode 减号也要认。
- 带千分位逗号的金额,1,234.56 该读成一个数,而不是 1 和 234。
- 百分比,25% 还原成 25。
- 科学计数法,6.02e23 这种。
这个工具用四个开关让你自己定义哪些算数。清点库存只要整数时,可以把小数开关关掉忽略零散小数;财务导出时则把千分位和小数都开着,每一分钱都留住。这种「按来源定规则」的设计,比一刀切的正则要省心得多。
一个真实例子:把一列开销求和
光说不练没意思,看个实际输入输出。假设你从聊天记录里复制了这么一段:
这个月报销:打车 19.99,午餐 4.50,设备 120,快递 8.25,还有上次没算的 19.99。
把整段粘进原文框,千分位和小数都开着,输出框立刻给出每行一个的清单:
19.99
4.50
120
8.25
19.99
下方的统计行同步刷新:个数 5、求和 152.73、平均 30.546。如果你先勾上去重,清单变成 19.99、4.50、120、8.25 四个值,求和也跟着变成 132.74。去重和排序都在统计之前生效,所以你想算唯一值还是全部值,自己说了算。整个过程不用打开表格,也不用担心手抖输错。
去重、排序、求和:清洗之后的三件套
提取只是第一步。真正让它好用的,是抽完之后那几个顺手的动作:
- 去重:同一个值出现多次只留一个,适合统计不重复的编号或金额。
- 升序排序:把杂乱的数字理顺,异常值一眼能看出来,该排查的离群点不会藏在中间。
- 实时统计:个数、求和、平均、最小值、最大值随时算好,不开计算器也能心里有数。
排好序的数字如果还要进一步按别的维度整理,可以接着用 文本排序工具 做更复杂的排列。两个工具配合,从原始文本到一份干净有序的数值清单,中间不用碰 Excel。
这些用途最常见
我观察下来,用数字提取最多的是这几类场景。
数据清洗:一列 CSV 里每格写着「1,234.56(已审)」或者「待定」,把整列粘进去,千分位和小数开着,「已审」「待定」这些噪声全被丢掉,只剩干净的数值,导入前去重排序就能挑出异常。
统计核对:一份季度小结满是「增长 12.5%、流失 -3.2%、毛利 41%」,百分号被剥掉,你拿到 12.5、-3.2、41 三个纯数字,直接求平均或拉图,比文字里逐个用眼睛找快太多。
财务对账:从收据或发票里抽出所有金额求和,千分位逗号正确识别,不会把 1,234 拆成两个数。
写脚本取参数:一条日志「订单 100482 给用户 53109 第 3 次重试失败」,关掉小数只取整数 ID,切成逗号分隔,把 100482、53109、3 直接贴进 SQL 的 IN 子句。
几个容易踩的坑
用之前提醒三件事,省得你怀疑工具出错。
第一,逗号是列表分隔符而不是千分位时,记得关掉千分位开关。「编号 1,234,567」如果本是三个独立编号,开着千分位会被并成一个 1234567。
第二,关掉小数开关就别指望拿到小数。关掉后 3.14 会变成 3 和 14 两个数,如果输出数量突然比预期多了一倍,先查这个开关。
第三,百分号是被剥掉不是被除。25% 还原成 25,不是 0.25。真要小数比例,复制后自己除以 100。
全程本地处理,不上传
最后说一句对很多人重要的事:每一步都是浏览器标签页里运行的纯 JavaScript,匹配、解析、去重、排序、统计全在本地。你粘进去的文本、抽出来的数字和合计都不离开页面,也不做任何记录。涉及保密内容时,用复制按钮拿走输出,别用分享链接,因为分享链接会把输入文本写进网址。这样既快又安全,处理财务或客户数据都能放心。
Made by Toolora · Updated 2026-06-13