删除空行

把文本粘进来,本页按行扫描,清掉完全空白的行和只含空格制表符的「假空行」,可选把连续空行压成一个。所有处理在浏览器里做,不上传服务器。

清理规则:按换行切分;完全空行和「只含空格/制表」的假空行都删;勾选「连续空行压成一个」时保留一段一个空行。演示值 7 行含 3 空行,清理后 4 行。

使用方法

删除空行把乱糟糟的空行一次清掉,只要四步:

  1. 在「输入文本」框粘贴或输入内容,里面夹多少空行都行,如演示的 7 行夹 3 空行。
  2. 勾选项:「删除完全空行」「删除仅含空格/制表的行」默认开;要不要「连续空行压成一个」按需勾。
  3. 点「删除空行」,或在文本框按 Ctrl/Cmd + Enter。结果进下方文本框,并显示处理前后行数。
  4. 点「复制结果」整段拿走;想还原示例按「载入示例」。

删除空行能解决什么

它把「从网页/表格复制来的一堆空行」压成干净文本,适合三类场景:

  • 整理网页复制:从网页粘一段文字,段间常带三四个空行,清掉后直接进笔记或编辑器,排版清爽。
  • 表格与报表:导出的 CSV/文本里偶有整行空行,删掉避免后续按行解析时错位或统计多算空记录。
  • 代码与日志:日志段间空行、代码里误敲的空行,清理后更易读;配合「压成一个」还能保留段落感。

本页不做的事:不删行内首尾空格(那是去空格工具的事);不删含文字但很短的行;不做按关键词过滤行。只针对「空」与「假空」行,不动有内容的行。

原理和变量

① 用了哪个具体函数:核心是 text.split(/\r?\n/) 按换行切分成行数组,再 filter 掉空行,最后 join('\n') 拼回。判空用 line.trim() === '',这样「只含空格/制表」的行也会被识别为空白。

② 关键参数为什么这样取:用 trim() 而非 length === 0,是为了同时清掉「假空行」(肉眼像空、其实有空格或制表符)。两种删除项分开勾,让你能只删完全空行、保留假空行,或反过来。

③ 遵循哪个标准:换行同时兼容 \n 与 \r\n(Windows 复制常见),用正则 /\r?\n/ 统一切。输出统一用 \n,不带回车,避免跨平台再出现空行错乱。

④ 输入怎么变成输出:7 行文本切出 7 个元素,3 个经 trim() 为空被删,剩 4 个有内容行 产品名称/核心卖点/价格/库存 拼回,得到 4 行结果,行数提示「7→4,删 3」。

⑤ 边界与阈值:空输入输出空,不报错;全空文本输出空并提示「没有可保留的行」。勾「压成一个」时,连续空行段只留 1 个,不会把段落间的分隔也删光。

⑥ 常见误用的正确解释:以为只删完全空行就够——其实复制来的「假空行」含空格,必须用 trim 判断才会清掉;输出统一 \n 不是 bug,是跨平台更稳;行内首尾空格本页不动,那是另一工具职责。

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

保持演示输入(7 行,空行在第 2、4、6 行),开启两项默认删除、不压缩:

  • 切分:7 行 → 3 个空行(trim 后为空)被删。
  • 保留:产品名称:蓝牙耳机 / 核心卖点:主动降噪 / 价格:299 元 / 库存:现货,共 4 行。
  • 行数提示:处理前 7 行 / 处理后 4 行,删除 3 行。
  • 若勾「连续空行压成一个」:原 3 个分散空行本就各不相邻,结果相同;若是连续 3 空行则压成 1 个。

这组与页面默认文本框、行数提示、对照表第 1 行(网页复制 22→16)思路一致,可三处核对。

输入范围与对照表

删除空行的对照表列出不同文本类型清理空行前后的行数变化(均开启两项默认删除):

常见文本类型的空行清理效果(处理前 / 空行 / 处理后)
场景处理前行数空行数处理后行数
网页复制正文22616
表格粘贴14212
代码块31328
日志片段401228
邮件正文18513
Markdown 文档25817
CSV 文本11110
聊天记录33924
说明文档19415
配置文件27720
网页源码501832
商品描述927

对照表能看出「网页/源码空行最多、CSV 最少」:复制来源越「富」(网页、源码),夹带空行越凶,清理收益越大。

结果边界和舍入

输出性质:结果是清理后的纯文本,换行统一为 \n(LF),不带回车 \r,跨平台粘贴都不会再冒出空行。

什么时候会提示:输入为空时输出空,不报错;全部是空行时输出空并提示「没有可保留的行」,不会假装成功。

压缩与保留:勾「连续空行压成一个」保留段落分隔(一段一空行),不勾则空行全删、段落紧挨。两种都只动空行,有内容的行一字不改。

结果用途:这是行级清洗,不动行内首尾空格与内容;要连行内空格一起清,请配合去空格工具再处理一遍。

常见问题

为什么有的空行删不掉?

那可能是「假空行」——里头有空格或制表符,肉眼像空其实不是。本页默认勾「删除仅含空格/制表的行」用 trim 判断,会一并清掉;若你只勾了「删除完全空行」,假空行会留下。

删除空行会动我的文字吗?

不会。只删空的或假空行,有内容的行(包括行内首尾空格)原样保留。要清行内空格请用去空格工具。

连续空行能只留一个吗?

能,勾「连续空行压成一个」。连续多个空行段会各保留 1 个,既干净又保留段落分隔;不勾则全删、段落紧挨。

Windows 的换行兼容吗?

兼容。切分用 /\r?\n/ 同时认 \n 和 \r\n,输出统一 \n,所以从不同系统复制来的文本都能正常清理。

处理完行数变少正常吗?

正常,变少的就是被删的空行。行数提示会写明「处理前/后/删除」,若删得比你预期多,检查是否误勾了假空行项。

能按关键词删行吗?

不能。本页只认「空」与「假空」,不解析内容。按关键词过滤行请用对应的行过滤工具。

大段文本会卡吗?

按行数组处理,几千行无压力。极长文本建议分段;结果按原顺序一一对应,不会乱序。

我的输入会被保存或上传吗?

不会。全部在浏览器内切分与过滤,刷新即清空;处理时不发任何网络请求。

相关工具