结论:能清,但要先接受一个前提 —— 识别不会替你判断哪两题是同一道题。去重只认「整行文字完全一样」,一道题被折成两行、末尾多一个空格,它就当成两条不同记录留下。所以顺序不能反:接断行 → 去首尾空格 → 去重 → 排序 → 再打印,最后一步之前不要碰打印机。
为什么错题本特别容易留重复
三种脏数据在错题场景里同时出现:
- 题干被视觉行拆开。识别按纸上的行输出,一句长题干到纸边就换行。同一道题在两份卷子上折在不同位置,就成了两条看起来不同的文本,去重无效。
- 手写作答混进题干。学生写在题目里的数字、圈画的字会被一起读出来,同一题两次录入的结果差着几个字符。这类只能人工删。
- 行尾藏着空格。拍照时页面边缘的装订孔阴影常被读成一个空格。肉眼看不出,去重判定为不同行,这是最常见的「明明一样却删不掉」。定位方法:把两行贴进编辑器看光标跨过行尾要走几步。
清理的操作顺序
- 把所有题目的文字汇总到一个文件,贴进 TXT处理。这一步在浏览器本地完成,文件不上传服务器。
- 先接断行。勾选正则后处理「行尾不是句末标点加换行」的组合,把被拆开的题干接回去。句末的句号问号不会被误接。
- 再点去行首尾空格。放在去重之前做,否则那些只差一个空格的重复行全部逃过判定。
- 用删除重复行。它保留每个内容首次出现的位置、不打乱原有顺序 —— 正文型内容一排序就废了。
- 需要按科目或编号归并时才排序。排序有两种口径:按 Unicode 码位,或者按中文拼音。带编号的清单用拼音那一档,它具备数字感知,编号 2 会排在编号 10 前面,和系统默认字符顺序不同。
预览和导出不是同一件事
内容较长时输入输出框只显示前面一部分,但处理、统计与下载仍按完整内容执行。这个差别很容易误判:屏幕上看不到后面的题目,以为没处理,于是重新粘一遍,结果真的多了两倍的题。判断有没有生效要看统计行数和下载回来的文件,不要看预览框。
用统计数字给自己留一条退路
删完记一下行数变化。TXT处理会给出字符数与中文字符数的统计,前后各记一次,减少了几十行就是几十行,对不上就说明某步删过头了。
如果最终要的是表格形式的台账 —— 一列科目、一列题干、一列错因 —— 那不该在文本里绕,直接用 表格识别转Excel,再去 Excel去重 按指定列判断。两边分工不同:文本去重管整行,表格去重管你勾中的那几列,混着用会出现删多或删漏。
底线判断:准备拿这套题给学生重做的,不要用去重后的文本直接印。同一道题第二次做错时你可能故意留了两份,机器不知道这件事。去重只是清掉明显重复,最后一遍通读必须人来。