编码解码哈希加密格式化时间转换开发生成文本处理网络工具其他工具
首页 / 文本处理 / 去除空白

去除空白

去空格去空行,清理多余空白

输入
结果

这个工具能做什么

这个工具专门清理文本里多余的空白,按行处理,提供四个可以独立勾选的选项:去掉每行首尾的空格、删除空行、把行内连续的空格合并成一个、以及把连续多行空行压成一行。日常从网页、PDF 或 Word 里复制文字时,往往带着看不见的行尾空格、参差不齐的缩进和大段空行,直接拿去用会让排版和 diff 一团糟。这里的去空格、去空行、清理空白操作,就是按你勾选的规则把这些噪声一次去掉,选好后点清理即可。默认勾上了「去每行首尾空格」和「删空行」,这也是最常用的组合。

它的工作方式是纯粹的按行文本处理,不做任何语义解析。第一步先统一换行符,把 Windows 的 \r\n 和老式 Mac 的 \r 都归一成 \n,再按换行切成一行一行。逐行处理时,合并空格是用正则把连续的半角空格、制表符 Tab、以及中文里常见的全角空格(U+3000)缩成一个半角空格;trim 每行首尾则会去掉行首行尾的所有空白字符,连不换行空格 NBSP 也一并清掉。判断空行时,只要一行除了空白没有别的字符就算空行,所以「只含几个空格的行」也会被当成空行删掉;压缩连续空行则保证相邻空行最多保留一行。整个过程在你的浏览器本地完成,不上传服务器。

最常见的用法是整理复制来的代码和表格。比如从某个网页教程里复制一段代码,几乎每行末尾都拖着空格、中间还夹着空行,勾上「去每行首尾空格」和「删空行」点一下,就能得到干净、可直接粘进编辑器的版本,提交时也不会因为行尾空白产生一堆无意义的 diff。再比如把 PDF 或聊天记录里的文章粘出来,段落之间往往有连续好几行空行、句子里还有双空格,勾上「连续空行合成一行」和「行内连续空格合一」,就能快速把它压成规整的段落格式,再导入 Markdown 或 CMS。

有两点要留意。一是这个工具是按行清理,它保留换行结构,也保留单词或中文之间正常的单个空格,不会把整段文字拼成一坨没有空格的字符串——如果你要的是删掉全部空格,这不是对的工具。二是「去每行首尾空格」会连同行首缩进一起删掉,对 Python、YAML 这种靠缩进表达结构的代码来说是破坏性的,处理这类内容时记得取消这个选项,只用删空行或合并空行。另外全角空格看起来和普通空格没区别,却不是同一个字符,本工具会把它一并处理,这也是它和一些只认半角空格的简单替换脚本的差别。

去除空白是一个免费的在线工具,打开网页就能用,不用下载也不用注册。平时大家搜的“去空格”、“去空行”、“去除空白”,说的都是这个。

常见使用场景

使用方法

  1. 把内容粘贴到输入框(生成类工具直接设置选项)。
  2. 按需要选择选项,点操作按钮。
  3. 结果出现在下方,点「复制结果」即可带走。

常见问题

勾了清理后,单词或中文之间正常的空格会被一起删掉吗?
不会。默认的去首尾和删空行只动行首行尾和空行,不碰行内的正常空格;只有勾选「行内连续空格合一」时才会处理行内空格,而它也只是把连续的多个空格缩成一个,单个空格保持不变。
为什么勾上「去每行首尾空格」后,我代码的缩进全没了?
因为 trim 首尾会去掉行首的所有空白,而缩进正是行首空白。处理 Python、YAML 这类靠缩进的内容时,请取消「去每行首尾空格」,改用删空行或合并连续空行等不动缩进的选项。
只包含几个空格、看起来像是空的那种行,会被当成空行删掉吗?
会。判断空行时看的是这一行除去空白后还有没有内容,所以只含空格、Tab 或全角空格的行也算空行,勾了「删空行」就会一并删除。
支持中文全角空格和 Tab 吗?和「删除所有空格」的工具有什么区别?
支持,合并和 trim 都会处理半角空格、Tab 制表符和全角空格(U+3000)。区别在于本工具是按行清理、保留换行和词间的单个空格,不会把文本拼成没有空格的一整串;要彻底删掉每一个空格得用另外的工具。
文本会上传服务器吗?处理内部代码或敏感内容安全吗?
不会上传,所有清理都在你当前浏览器里用 JavaScript 完成,断网也能用,粘贴公司内部代码、日志等敏感文本不会外流。文本大小只受浏览器内存限制,常规几千上万行都很快。

相关工具

查看全部「文本处理」工具 →