文本处理工具

统计字数与行数、大小写转换、全角半角互转、去重排序、删空行——处理从表格和日志里复制出来的脏文本。 全部在浏览器本地运行,不联网、不上传,断网也能用。

原文输入 · 实时统计

原文框不会被任何操作改动,处理结果放在下面的结果区,两边可以对着看。
0
0
0
0
0
0
中文字符数只统计 U+4E00–U+9FA5 这一段常用汉字区,常用字基本都在里面; 扩展区的生僻字、异体字和日文汉字不在这个范围,所以它是「常用汉字个数」,不是「所有汉字个数」。 字节数按 UTF-8 编码计算:ASCII 一个字节、汉字三个字节、emoji 四个字节。 行数按换行符切分,原文末尾多敲一个回车就会多算一个空行,所以要和非空行数一起看。

大小写转换

首字母大写 = 每个英文单词的首字母改大写、其余字母改小写; 句首大写 = 每个句子的第一个字母改大写,句子之外的字母保持原样(换行也算一句的开头)。 句首大写是按标点做的简单规则匹配,遇到 e.g.、3.14 这类写法会把后面的字母也当成句首,结果请自己扫一眼。

全角 ⇄ 半角

转换范围是全角字符区 U+FF01–U+FF5E(与半角相差 0xFEE0),外加全角空格 U+3000 ⇄ 普通空格。 中文标点「。」「、」《》不在这个区间里,所以全角转半角不会把它们变成英文标点。 半角转全角时,原文里的普通空格会全部变成全角空格,需要保留普通空格的话请转换后再点一次「删除行首行尾空格」或「合并连续空格」。

清理与整理

删除空行:整行只有空格(含全角空格、不换行空格)的行也算空行,一并删掉。 删除行首行尾空格:逐行处理,同时清掉行尾容易被忽略的零宽空格和字节序标记。 合并连续空格:连续两个及以上空格、制表符都压成一个半角空格,单个空格保持不动,行首缩进会被压成一个空格。 去掉重复行:整行完全一致才算重复,保留第一次出现的位置(区分大小写)。 按行排序:用浏览器自带的本地排序,中文一般按拼音,数字按文本比较(不会把 10 排在 9 后面)。

处理结果

还没有处理结果。在原文框里粘贴内容,再点上面的任意按钮。
第一次点按钮时,操作以原文为起点;之后再点任何按钮,都是接着当前结果往下做, 所以可以「全角转半角 → 删行首行尾空格 → 删空行 → 去重 → 按行排序」这样连着做几步。 想改用改过的原文,点「重新从原文开始」把处理链归零;想把结果当成新原文继续编辑,点「把结果作为新输入」。

为什么粘进来的文本总是「脏」的

同一段文字从不同地方复制出来,样子完全不同:表格里复制的两列,粘到记事本里常常挤成一团,每行前后还多出一串空格; PDF 里复制的段落,几乎每行末尾都带一个换行,一句话被切成五六行;网页上复制的正文夹着看不见的不换行空格(U+00A0) 和零宽空格(U+200B),看着像空格,搜索却搜不到。

这不是文本坏了,而是复制时把排版信息带了出来:表格用空格对齐「列」,PDF 按视觉位置摆字, 复制时只能还原成空格和换行,并不知道哪里才是一段。

全角和半角是怎么来的

全角字符在 U+FF01–U+FF5E 这一段,与对应的半角字符(U+0021–U+007E)相差 0xFEE0,互转就是加减法, 全角空格 U+3000 对应普通空格。之所以有「全角」,是因为汉字在早期电脑上按等宽方格排版: 一个汉字占两个英文字符宽,标点也占满一格,同一个逗号于是有了全角和半角两个版本。 输入法里按 Shift + 空格就能切换,误按一次整段文字就带上全角标点,拿全角数字算金额、匹配编号都会失败。 这段区间只覆盖英文标点,中文的「。」「、」不在其中,不会被转成英文标点。

每一步都接着上一步

工具把「原文」和「结果」分成两个框,两边都留着便于对照,也不改动原文。第一次点按钮以原文为起点, 之后每点一次都接着当前结果往下做,并标出是第几步。不满意可以点「把结果作为新输入」填回原文框, 或点「重新从原文开始」让处理链归零。

去重和排序,整理名单时最有用

合并名单时,最麻烦的不是格式而是重复:同一批数据在两三张表里都录过,合并后就出现好几次,手工比对又慢又容易漏。 「去掉重复行」按整行完全一致判断、保留第一次出现的位置,所以先把行首行尾空格清掉、大小写统一,再去重才准。 排序的价值是看得出规律:名单按拼音排好,重复项会挨在一起;日志排序后,同类报错会聚到一块儿。

为什么各家的「字数统计」不一样

同一篇文章,这个编辑器说 1200 字,那个后台又是另一个数:「字数」没有统一定义,算不算标点,算不算空格, 中文按字数还是先分词按词数,英文按空格切词还是把连字符、缩写算一个词,emoji 和生僻字又占几个字符。 本站把口径拆开摆出来:总字符数按 Unicode 码点算,一个 emoji 算 1 个;中文字符数只统计常用汉字区; 英文单词数按连续英文字母串数;字节数按 UTF-8 算,这才是真正占的体积。


本工具完全在你的浏览器里运行,输入的内容不会发送到任何服务器。

← 返回工具箱