AI工具指南 · 5 分钟阅读

用 AI 写文本去重工具:保留前导 0、首次顺序的 5 个验收样例

让 AI 写小工具之前,先把规则说清楚。用 3 行编号变 2 行开始验收,再检查顺序、大小写和空格;文末提供无需联网运行的 HTML 示例。

发布于

反复整理编号或重复文本时,可以让 AI 协助写一个小工具,再把确定的规则交给本地程序执行。本文用虚构文本演示“逐行完全相同才去重”,并提供提示词、5 个验收样例和离线文件。示例由本站编写和检查,不代表 Nexus 或任何指定模型的生成效果,也不保证一次生成的代码就正确。

先定规则:哪些行才算重复

先另存一份原始文本,再处理副本。这里的“行”是纯文本的一行,不是表格中的某个人或某一笔业务;工具不会理解两行是不是同一个客户。若实际任务需要按手机号、证件或多列字段核对,应另行定义规则,不套用这个示例。

  • 整行字符串完全相同才合并,保留第一次出现的位置,不重新排序。
  • 编号始终作为文本处理:00123 与 123 不同;AbC 与 abc 不同。
  • 忽略空行和纯空白行;非空行的首尾空格保留,所以 A、前面有一个空格的 A、后面有一个空格的 A 是三种文本。
  • 接受 LF、CRLF、CR 换行,结果统一用 LF。计数中的“输入行”指去掉空白行后的有效行。
  • 不做大小写转换、Unicode 规范化或模糊匹配。视觉上相似的文字不一定相同;不把姓名相同当作身份相同。

复制这段请求,让 AI 先按明确规则写

向你有权使用的 AI 工具描述任务时,先给规则和虚构样例,不必上传真实客户资料。下面整段可以复制;如果业务规则不同,先改提示词和预期结果,再生成代码。

可复制的提示词
请帮我制作一个可保存为 HTML、在浏览器本地打开的纯文本逐行去重工具。只输出一个完整 HTML 文件,不用外部库、图片、字体、网络请求或任何模型 API。
规则:每一行按原始字符串比较,整行完全相同才去重,保留第一次出现的顺序;不排序,不把内容转成数字,保留前导 0;区分大小写;忽略空行和纯空白行,但保留非空行的首尾空格;接受 LF、CRLF 和 CR 换行,输出统一 LF。不识别姓名、邮箱身份,不做模糊合并。
界面:原始文本框与只读结果框、一个“去重复行”按钮、有效输入行数→输出行数、重复行数。输入修改后清空旧结果,避免误复制;不要覆盖原文,不存储或上传输入。
验收:00123 / 00456 / 00123 三行应输出 00123 / 00456 两行。再测试首次顺序、大小写、空行和首尾空格。请说明每个测试的输入、预期和为什么这样处理;不要仅凭页面能打开就宣称正确。

用 5 个小样例检查结果

先人工确认预期,再运行生成的工具。不要把程序自己的解释当作验收证据:输出的字、空格、顺序和行数都要核对。以下样例对应本站提供的离线文件;已检查其去重函数,不能据此认定任意 AI 新生成版本也通过。

第 1 至第 3 例中,每个编号或单词各占一行,展示缩进不属于输入。第 4、5 例用 JSON 表示不可见字符:\n 表示换行,\r\n 表示 Windows 常见换行,\t 表示制表符;应按这些字符构造输入,不是把反斜杠文字原样粘贴。

5 组输入与预期结果
1. 保留前导 0
输入:00123
      00456
      00123
预期:00123
      00456
结果:3 个有效输入行 → 2 行;重复 1 行。

2. 保留首次顺序,不排序
输入:pear
      apple
      pear
      banana
      apple
预期:pear
      apple
      banana
结果:5 个有效输入行 → 3 行;重复 2 行。

3. 按字符串比较,区分大小写
输入:00123
      123
      AbC
      abc
      00123
      AbC
预期:00123
      123
      AbC
      abc
结果:6 个有效输入行 → 4 行;重复 2 行。

4. 空行和纯空白行忽略,CRLF 可识别
输入(JSON 转义表示):" \r\n00123\r\n\r\n00456\r\n00123\r\n\t"
预期(JSON 转义表示):"00123\n00456"
结果:3 个有效输入行 → 2 行;重复 1 行,忽略 3 个空白行。

5. 非空行的首尾空格保留
输入行数组(JSON):["A", " A", "A ", "A"]
预期行数组(JSON):["A", " A", "A "]
结果:4 个有效输入行 → 3 行;重复 1 行。
注意:数组里的引号只用于展示空格,不是要粘贴进工具的内容。

下载离线示例,先用虚构文本跑一遍

点击下方下载按钮,把 HTML 文件保存到电脑;如果浏览器直接打开了它,可用“另存为”保存完整 HTML。用普通浏览器打开已保存的文件,保留默认的三行虚构编号,点击“去重复行”,应得到两行且仍显示 00123、00456。

此文件没有外部依赖、网络请求、账号登录和 API 调用,输入只在当前页面内处理,也不写入浏览器存储;关闭前请自行保存需要的结果。断开网络后仍可使用已下载文件。这描述的是本页提供的文件,不是对所有 AI 生成 HTML 的承诺。

修改原始文本后,旧结果会清空;再点击按钮生成新结果。确认无误后,把结果复制到一个新文本文件,别覆盖原始数据。这里只检查了小样例,未验证超大文件的性能或所有浏览器版本。

下载离线文本去重示例(HTML)

为什么保留 00123?需要看实现而不是只看行数

示例逐行保留原字符串,用 JavaScript Set 记录已经出现过的值。MDN 文档说明,Set 中的值唯一,并按首次插入的顺序遍历;本例没有把字符串转换成数字,因此前导 0 不会因数值转换而丢失。空白行过滤、大小写和空格规则则由示例代码明确决定,不是“去重”这个词自动包含的行为。

如果 3 行变成 2 行,但 00123 变成了 123,或 pear 被排到 apple 后面,仍然不通过。让 AI 修改时,给出最小失败输入、预期、实际结果和已有规则;修复后把 5 组样例全部重跑,避免修好一项又破坏另一项。

文本去重只是删除完全重复的行,不是验证资料真实性,也不是人员身份合并。真实业务有多个字段或需要保留重复事件时,应先确定业务含义,再决定是否去重。

常见问题

为什么 00123 和 123 没有合并?

本教程把每行当作文本,两个字符串不同,因此分别保留。不要为了去重先转换成数字,否则前导 0 会丢失。

A 和带空格的 A 为什么仍然保留两行?

示例只过滤纯空白行,不修剪非空行的首尾空格。若需要忽略首尾空格,应先更改规则和对应验收样例,再修改程序。

下载后的工具还需要付费调用 AI 吗?

本站提供的 HTML 文件在浏览器本地执行,不调用 AI 或其他 API。你另外使用 AI 编写或修改代码时,该 AI 服务是否收费取决于它自己的规则。

能用它判断两条记录是不是同一个客户吗?

不能。它只比较整行文字是否完全相同,不识别身份、不验证信息,也不处理模糊匹配。人员或订单合并需要单独的业务规则和核对流程。

参考资料

查看 AI 工具指南

相关主题文章

请遵守所在地区法律法规及相关平台规则。