删除多余空格

粘贴或输入文字,勾选要执行的清理规则,本页在浏览器里把首尾空白、连续空格、空行和全角空格一次性清掉。所有处理都在本地完成,文本不上传服务器,手机也能直接用。

处理口径:默认「去首尾 + 合并连续空格」;勾「删除所有空格」会清空全部空格(含中英文之间的间隔);勾「合并多余空行」把 3 个以上换行压成 1 个。演示输入已预填,点「清理空格」即可看到结果。

使用方法

删除多余空格是「贴文本、勾规则、点清理」三步:

  1. 把要清理的文字粘进「待处理文本」框,演示里预填了一段带多余空格的话。
  2. 在「选择清理规则」里勾选:去掉首尾空白清掉每行开头结尾的空格;多个空格合并成一个把连续空格压成单个;合并多余空行压缩空行;删除所有空格连间隔也清掉。
  3. 点「清理空格」或按 Ctrl/Cmd + Enter,结果进下方「处理结果」框;按「复制结果」整段拿走,按「载入示例」还原演示。

删除多余空格能解决什么

它把「从别处复制来的脏文本」变干净,适合三类场景:

  • 网页复制粘贴:从网页、PDF 拷来的段落常被塞进大量不间断空格和首尾缩进,清理后才是正常可读的文字,演示里「 你好 世界 」会变成「你好 世界」。
  • 代码与配置:贴进配置或脚本的文本若带行尾空格,可能引发格式告警,去掉首尾和连续空格能直接消除这类隐患。
  • 聊天与表格:微信、文档里手动敲出的多重空格,清理后对齐更规整,也方便后续按空格做分列。

本页不做的事:不删除换行(除非勾合并空行);不去标点与多余符号;不翻译或改写文字内容。它只动「空白字符」,不改任何可见语义,需要去重或去标点请用对应的文本工具。

原理和变量

① 用了哪个具体函数:核心是 JavaScript 的 String.prototype.replace 配正则表达式,连续空格用 /[ ]{2,}/g,首尾用 /^[ \t]+/gm 与 /[ \t]+$/gm,全角空格 U+3000 单独再替换一次;全删用 /[ \u3000]/g。

② 关键参数为什么这样取:默认只「合并」而不「全删」,是因为中文与英文之间、列与列之间往往需要保留一个空格作间隔;把连续多个压成一个,能去脏又不破坏结构。是否彻底清空由「删除所有空格」复选框决定,属于显式开关而非默认行为。

③ 遵循哪个标准:空白判定按 Unicode 空白定义,涵盖半角空格、制表符、换行以及全角空格(U+3000);处理是纯前端字符串替换,输出仍是普通 Unicode 文本,可原样粘回任意编辑器。

④ 输入怎么变成输出:演示输入「 你好 世界 」先去首尾得「你好 世界」,再合并连续空格得「你好 世界」;「第二行 也 有」同样压成「第二行 也 有」。若勾「删除所有空格」,则进一步变成「你好世界」「第二行也有」。

⑤ 边界与阈值:空输入会提示「待处理文本是空的」并停下;超大文本(如十万字)仍在本地处理,只是耗时略增;全角空格与不间断空格都算空白一并清理;合并空行只压 3 个以上换行,单个空行保留。

⑥ 常见误用的正确解释:把「合并空格」当成「删除所有空格」会连中英文之间的必要间隔也删掉,导致「HelloWorld」粘在一起;误删换行会丢失段落结构。正确做法是先合并、按需再删,且不要对依赖缩进的代码勾「合并多余空行」。

完整示例(数值仅作演示)

规则:勾选「去首尾 + 合并连续空格」,输入预填演示文本。

  • 原始: 你好 世界 , 这是 一个 测试 。
  • 去首尾后:你好 世界 , 这是 一个 测试 。
  • 合并空格后:你好 世界 , 这是 一个 测试 。
  • 第二行同理:第二行 也 有 多余 空格
  • 若改勾「删除所有空格」:结果变 你好世界,这是一个测试。第二行也有多余空格

这一组与上方工具框默认结果完全一致,可直接对照验证。

输入范围与对照表

删除多余空格的对照表列出常见脏文本经不同规则后的处理结果(↵ 表示换行):

常见空白场景与处理后结果
原始文本选用处理处理后文本
你好 世界 去首尾 + 合并你好 世界
a b c合并连续空格a b c
第一行↵↵↵第二行合并多余空行第一行↵↵第二行
 全角空格 测试 去首尾全角空格 测试
多个 连续 空格合并连续空格多个 连续 空格
前面有tab↵↵结尾 去首尾前面有tab↵↵结尾
删所有 空格 吧删除所有空格删所有空格吧
hello world !合并连续空格hello world !
首尾 中间 去首尾 + 合并首尾 中间
段落一↵↵↵↵段落二合并多余空行段落一↵↵段落二
中文 与 英文 混 排合并连续空格中文 与 英文 混 排
 混合 空格  去首尾 + 合并混合 空格

对照表能直观看出:勾的选项不同,同一段脏文本的处理结果也不同;合并空行只压超过 2 个的换行,单个空行始终保留。

结果边界和舍入

输出性质:结果是普通文本,长度随输入变化,可直接粘回文档、代码或表格;除空白外,所有可见字符与标点原样保留。

什么时候会提示:输入完全为空时提示「待处理文本是空的」并停止;其余情况都会给出结果,包括「处理后为空」也属于正常(比如全删空格且原文只有空格)。

换行与结构:默认不删除换行,只清行内空白;只有勾「合并多余空行」才压缩 3 个以上换行,单个空行保留以维持段落感。

全角与特殊空白:全角空格(U+3000)、不间断空格等都会被当作空白清理;若你希望保留某种特殊空白,请勿勾对应规则,或在清理后手动补回。

常见问题

合并空格会不会把英文单词连在一起?

不会。本工具只把「连续多个空格」压成「一个空格」,单词之间本就一个空格,不会被删。真正会连在一起的是勾选「删除所有空格」,那会连必要间隔一起清掉。

全角空格能清理吗?

能。全角空格(U+3000)属于 Unicode 空白,本页在去首尾和合并时都把它一并处理,演示里「 全角空格 测试 」去首尾后变成「全角空格 测试」。

为什么我的空行还在?

默认只清行内空白,不删换行。要压缩空行需勾「合并多余空行」,它把 3 个以上的换行压成 1 个,单个空行会保留以维持段落结构。

「删除所有空格」会怎样?

会清空全部空格与全角空格,包括中英文之间、列之间的间隔,例如「你好 世界」变成「你好世界」。适合做紧凑拼接,但会破坏可读性,请按需使用。

处理后的结果能导出吗?

能。上方「复制结果」整段拿走;下方对照表可「导出 CSV」(带 BOM)、「导出 JSON」或「复制对照表」(TSV),方便存档或二次处理。

我的文本会被上传吗?

不会。全部替换在浏览器本地完成,刷新即清空,可在 Network 面板复查,点「清理空格」时没有任何请求发出。

超长文本会卡吗?

一般不会。纯字符串替换很快,十万字也在本地瞬时完成;极个别老旧设备可能在粘贴超大文本时略有延迟,但不影响正确性。

能只清理某一行吗?

本工具按整段处理,没有逐行开关。若只想改某几行,先在其他编辑器里处理好那几行,再整体粘贴进来统一清理即可。

相关工具