这个工具解决什么问题
从教务系统导出的名单、从网页复制的表格、从 Excel 粘出来的数据,格式往往很乱:有重复行、有空行、每行前后带空格、全角和半角混在一起。手工处理几十行还能忍,几百行就不现实了。
这个工具把这些操作做成可勾选的步骤,一次跑完。你只需要粘贴文本、勾选要做的处理、点一下按钮。
粘贴一批文本,勾选要做的处理,一次完成去重、排序、转换与替换。
勾选要执行的处理。处理不按勾选框的排列顺序,而是按「先统一格式(去首尾空格 / 压缩空格 / 删行号 / 全角半角)→ 再去空行与去重 → 再排序与大小写 → 最后正则替换」执行,这样勾了「去重」就真的能去掉 张三 与 张三 这类只差空格的重复行。实际执行顺序会写在结果里。
正则按 JavaScript 语法,自动加 g 标志做全局替换;不写查找内容则跳过这一步。
粘贴文本后选择要做的处理,点「开始处理」。
localeCompare(b, 'zh-CN') 按拼音排,
不是按 Unicode 码位排(按码位排中文是不按拼音的,这一点常被忽略)。1. 、2、、3)、
4] 的编号,方便把两批编号不同的名单合并。
想删掉所有数字?正则填 [0-9]+,替换留空。
想把多个空格统一成一个?用「压缩连续空格」更省事,不必自己写正则。
全部处理在浏览器本地完成,不上传任何文本;关掉页面后内容不会留在任何服务器上。 处理结果只影响下方输出框,原文本不会被改动,不满意可以改完勾选再点一次。
从教务系统导出的名单、从网页复制的表格、从 Excel 粘出来的数据,格式往往很乱:有重复行、有空行、每行前后带空格、全角和半角混在一起。手工处理几十行还能忍,几百行就不现实了。
这个工具把这些操作做成可勾选的步骤,一次跑完。你只需要粘贴文本、勾选要做的处理、点一下按钮。
下面每一项都可以单独勾选,也可以组合使用。不熟悉的话建议先只勾一两个看效果,再逐步叠加。
正则替换的用法是:在「查找」里填正则表达式,在「替换为」里填替换内容。工具会用全局模式(相当于加了 `g` 标志)执行,也就是替换所有匹配项而不是只替换第一个。
几个实用例子:删除所有数字,查找填 `[0-9]+`,替换留空;把多个空格换成一个,查找填 ` +`(加号表示一个或多个空格),替换填一个空格;删除括号及其内容,查找填 `([^)]*)`,替换留空。
如果正则写得不对,工具会给出提示而不是报错崩溃。常见错误是括号没有成对、或者用了特殊字符却没有转义(比如想匹配点号本身要写 `.` 而不是 `.`)。
不会。全部处理都在你的浏览器里用 JavaScript 完成,文本不会发送到任何服务器。你可以断网使用,也可以在浏览器开发者工具的网络面板里确认没有任何请求发出。这一点对处理包含姓名、学号、成绩的名单尤其重要。
是按整行内容完全匹配去重,保留第一次出现的行,删除之后所有完全相同的行。它不做近似匹配,所以「张三」和「张三 」会被视为不同的两行 —— 这正是建议先执行「去首尾空格」再去重的原因。如果要处理更复杂的重复情况(比如忽略大小写),可以先做大小写统一再去重。
按拼音顺序,使用的是浏览器内置的 localeCompare 方法并指定 zh-CN 区域。所以「安」会排在「白」前面。要注意它和「按笔画排序」不一样,和按 Unicode 编码排序也不一样 —— 如果直接按字符编码排,中文的顺序会是乱的,这也是很多简易工具排序结果看起来很怪的原因。
主要是处理输入法造成的格式不一致。中文输入法在中文状态下打出的数字、字母和标点是全角的,英文状态下是半角的。这两种字符在肉眼看来几乎一样,但对程序来说是不同字符 —— 全角「123」和半角「123」无法互相比较。所以把名单、编号、数据导入系统前,统一转成半角能避免大量莫名其妙的匹配失败。反过来,半角转全角常用于排版的场合,让中英文混排更整齐。
可以,而且这是这个工具的便利之处。处理会按固定顺序依次执行:先去空格等清理类操作,再做去重,然后是排序、大小写与全半角转换,最后执行正则替换。这个顺序是刻意安排的 —— 先做清理能避免因为多余空格导致去重失败,把正则替换放在最后则让它能作用于已经整理好的文本。