文本清理工具 — 删除换行、多余空格和重复行
一次性删除换行、多余空格、重复行和不可见字符,排序行,并进行查找替换。
10 行 · 114 个字符
6 行 · 78 个字符
更改: 删除了 2 个标签 · 删除了 1 个不可见字符 · 将 2 个弯引号改为直引号 · 修剪了 2 行 · 合并了 3 处多余空格 · 删除了 3 个空行 · 删除了 2 个重复行
完全在你的浏览器中运行。你粘贴的任何内容都不会发送给我们,也不会被保存。 浏览全部免费工具.
发现问题,或者觉得哪里可以更好?每条消息我们都会阅读,并尽快修复。
这款免费的文本清理工具专治复制文本带来的各种乱象:从 PDF 复制时句子中间的换行、双空格、空行、列表中的重复条目、会破坏代码的弯引号、残留的 HTML 标签,以及让两个看起来一模一样的字符串不相等的零宽字符。勾选你需要的步骤,粘贴后它们会一起实时执行。
每个步骤都会报告它做了哪些更改,例如“删除了 3 个重复行”或“删除了 2 个不可见字符”,让你确认工具确实做了你预期的事,而不是盲目信任一个黑盒。各步骤按固定顺序执行:先清理字符,然后是去重和排序等行操作,最后是查找和替换。偶尔处理一次,这就足够了;如果每周都要对导出的数据做同样的清理,写一个简短的脚本会更合适,而你在这里测试过的正则表达式可以直接放进去。
使用方法
- 把文本粘贴到“输入”框中。示例展示了一份杂乱的列表被清理的过程。
- 勾选你需要的清理步骤。字符类步骤(HTML、不可见字符、引号、换行、空格)最先执行。
- 选择行操作:删除空行或重复行、排序、反转或随机打乱。
- 可选:填写“查找”和“替换为”。勾选“正则表达式”即可使用模式和 $1 式的捕获分组。
- 查看“更改”一行了解做了哪些处理,然后复制或下载清理后的结果。
常见问题
如何删除从 PDF 复制的文本中的换行?
粘贴文本,勾选“删除换行”,并开启“保留段落”。PDF 把每一个视觉行单独存储,所以复制出来的文本在每行末尾都有换行;此功能会用空格把每个段落中的各行连起来,并保留段落之间的空行。同时开启“合并重复的空格和制表符”,因为 PDF 常会留下双空格。
如何删除重复行?
勾选“删除重复行”。每行第一次出现时会被保留,之后的副本会被删除,因此剩余各行的顺序不变。勾选“比较时忽略大小写”,可把“Apple”和“apple”视为相同。“去除行首和行尾的空格”默认开启,所以仅末尾空格不同的行也算作重复。
什么是零宽字符?为什么要删除它们?
它们是没有可见宽度的 Unicode 字符,例如零宽空格(U+200B)、零宽连接符(U+200D)、字节顺序标记(U+FEFF)和软连字符(U+00AD)。它们来自网页、聊天应用和文字处理软件,会让看起来相同的字符串比较结果不同,干扰搜索,并在代码和电子表格中引发错误。清理工具会删除它们,并把不换行空格和其他特殊空格转换为普通空格。
什么是自然排序?
自然排序按数值比较文本中的数字,而不是逐个字符比较。普通的 A–Z 排序会把 file10 排在 file2 前面,因为字符 1 在 2 之前;自然排序则得到 file1、file2、file10,这才符合人们的预期。按数字排序则是按每行中找到的第一个数字对行排序,并把没有数字的行放在最后。
查找和替换可以使用正则表达式吗?
可以。勾选“正则表达式”后,“查找”字段会被当作带有 global、multiline 和 Unicode 标志的 JavaScript 正则表达式读取,因此 ^ 和 $ 会在每一行匹配(除非开启“区分大小写”,否则还会忽略大小写)。在替换内容中,用 $1、$2 表示捕获分组,用 $& 表示整个匹配,用 \n 表示换行。如果模式无效,会显示错误信息,而输出保持不变。
各步骤的执行顺序及原因
1. 去除 HTML 最先执行,因为标签和实体会遮蔽真实文本。</p> 和 <br> 等块级标签会变成换行,让段落得以保留;脚本、样式和注释会连同其内容一起删除。
2. 接下来处理不可见字符和弯引号,让后续步骤比较的是干净的文本。仅相差一个零宽空格的两行会成为真正的重复行。
3. 删除换行、去除首尾空格和合并空格会重塑文本。
4. 删除空行、去重、排序、反转和随机打乱作用于由此得到的各行。
5. 查找和替换最后执行,作用于清理后的文本,因此你的模式无需考虑多余的空格或不可见字符。
实用的正则替换
• 把日期从 2026-10-16 改为 16/10/2026:查找 (\d{4})-(\d{2})-(\d{2}),替换为 $3/$2/$1。
• 给每行加前缀:查找 ^,替换为 - (短横线加空格)。^ 和 $ 匹配每一行的开头和结尾。
• 删除每行第一个制表符之后的所有内容:查找 \t.*$,“替换为”留空。
• 把一列内容变成逗号分隔的列表:查找 \n,替换为 , (逗号加空格)。
• 为 SQL IN 列表给每行加上引号:查找 ^(.+)$,替换为 '$1',然后按上一条的方法合并各行。
• 删除 [12] 之类的脚注标记:查找 \s*\[\d+\],“替换为”留空。
相关免费工具
- 大小写转换器 — 一键在十二种大小写格式间切换,从全部大写、句首大写到 camelCase、snake_case 和 kebab-case。
- 文本对比(Diff) — 比较文本、代码或 JSON 文件的两个版本,准确看出哪些行、词和字符发生了变化。
- 字数统计 — 统计词数、字符数、句数和阅读时间,输入时实时检查 X、LinkedIn、Instagram、YouTube、SEO 和短信的字数限制。
- 正则表达式测试 — 用示例文本测试正则表达式,实时高亮匹配结果,显示捕获组并预览替换效果。免费,在浏览器中运行。