跳到主内容
UniKit

文本清理

批量清理文本:去掉每行首尾空白、合并连续空格、删除空行与重复空行、统一换行符(CRLF/LF/CR)、去除 BOM 与零宽字符、全角空格转半角、删除行首行尾指定字符。

浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。

待清理文本

清理选项

换行符
不可见字符

清理结果

结果按所选换行符输出,可直接复制回文件。

输入文本后立即显示清理结果。

这个工具能做什么

  • 从 Excel、PDF 或网页复制来的文本每行都带首尾空格和多余空行,先清理干净再贴进代码或表格。
  • 把 Windows 导出的 CRLF 文本统一成 LF,避免 Git 里出现整文件改动的 diff。
  • 去掉别人发来的文件里看不见的 BOM 与零宽字符——它们会让 JSON 解析失败、让程序比较字符串时不相等。
  • 批量去掉行首行尾的引号、减号、星号等标记字符,例如把 - item - 整理成 item。

示例

输入

  hello   world  


  foo  

输出

hello   world

foo

默认会去掉每行首尾空白、把 CRLF 统一成 LF、把连续空行合并成一行。再勾选「合并连续空格」后 hello world 会变成 hello world。

常见问题

删除空行和合并空行有什么区别?

「删除空行」会把所有空行删掉,段落之间的间隔也一起没了;「连续空行合并为一行」只把挨在一起的多行空行压成一行,段落之间仍保留一个空行。默认开启的是后者,需要彻底删掉时再勾选前者。

BOM 和零宽字符是什么,为什么必须删?

BOM 是文件开头的 U+FEFF,Windows 记事本存 UTF-8 时会加上,它会让 JSON.parse 报错、让第一行多出一个看不见的字符。零宽字符(U+200B/200C/200D)常来自网页复制,肉眼不可见但会破坏字符串比较、让搜索匹配不到。两者默认都会清理。

换行符该选哪个?

LF 是 Linux/macOS 与 Git 的默认约定;CRLF 是 Windows 记事本与部分协议(HTTP、邮件)要求的;CR 是早期 Mac 的写法。选「保持原样」时会沿用输入里出现最多的那种换行符。

「只去行尾空白」有什么用?

代码里有时需要保留行首缩进(Python、YAML),但行尾的空格毫无意义还会触发 lint 报错。关掉「去掉每行首尾空白」、打开「只去行尾空白」就只清理行尾。

删除指定字符会删掉行内的字符吗?

不会。指定字符只从每行开头和结尾连续出现的位置删除,中间的字符保持不动,所以用 - 清理 - item - 会得到 item,而 a-b 里的减号不受影响。

关键词:trim textremove whitespaceremove blank linesremove line breaksstrip bomzero width characters文本清理去除空格删除空行统一换行符去 BOM零宽字符

同类工具