去除换行工具
快速去除文本中的换行符,支持多种处理模式
选择处理方式
什么是去除换行?
去除换行是将文本中的换行符进行处理或删除的操作。换行符是控制文本显示格式的特殊字符,不同系统使用不同的换行符标准:Windows 使用 CRLF(\r\n),Unix/Linux 使用 LF(\n),早期 Mac 使用 CR(\r)。本工具支持处理所有常见换行符格式,提供四种处理模式:去除所有换行、换行转空格、去除空行、合并空行,满足不同场景下的文本整理需求。
使用方法
使用方法
- 在左侧输入框输入或粘贴要处理的文本
- 选择处理模式(删除所有换行符、换行符转空格等)
- 结果将自动显示在右侧,支持实时预览
- 点击「复制」即可复制结果,或点击「交换」将结果作为输入继续处理
文本清理技巧
- 需要让词语保持分隔时,请选择「换行符转空格」;删除所有换行符可能会意外合并单词或字段。
- 对于 CSV、代码或地址等结构化数据,复制前请先预览结果,因为换行符可能承载语义。
使用场景
技术原理
每种模式都是通过一次 String.prototype.replace 配合全局正则表达式完成的。去除所有换行使用 /[\r\n]+/g 替换为空字符串;换行转空格使用 /[\r\n]+/g 替换为单个空格 ' ';合并空行使用 /(\r?\n){2,}/g 替换为 '\n\n',将三个或更多换行折叠为一个空行;去除空行先按 /\r?\n/ 分割,过滤掉 trim 后为空的条目,再以 '\n' 重新连接。使用字符类 [\r\n] 是刻意为之,因为三种经典换行符——CRLF(\r\n,Windows 自 DOS 时代起)、LF(\n,Unix 和现代 macOS)和单独的 CR(\r,经典 Mac OS 至 System 9)——必须全部被处理,即使它们混合出现在同一文件中(这是跨平台复制粘贴或在记事本中编辑 Unix 文件的常见产物)。 还有两个额外的 Unicode 换行点:U+2028 LINE SEPARATOR 和 U+2029 PARAGRAPH SEPARATOR,由 Unicode UAX #14 换行算法定义,自 ES2019 起被 JavaScript 字符串字面量识别。工具目前将它们视为普通字符,这符合大多数用户从聊天应用粘贴文本时的预期。UTF-8 文件开头的 BOM(U+FEFF)也会原样保留——如果下游解析器要求严格,可单独用 text.replace(/^\uFEFF/, '') 剥除。 实时更新由 React 的 useState/useMemo 配对驱动:受控的 textarea 写入输入,memo 在每次按键时重新计算结果,React 的协调机制只重绘输出面板。由于在现代 V8 上对几百 KB 的字符串进行正则替换耗时不到一毫秒,因此无需防抖;对于数 MB 的输入,开销仍远低于 60 Hz 下 16 毫秒的帧预算。
- 去除所有换行:text.replace(/[\r\n]+/g, '') — 将连续换行序列折叠为空,适用于 JSON 字符串字面量和 .env 值
- 换行转空格:text.replace(/[\r\n]+/g, ' ') — 在去除硬换行的同时保持词语分隔,不会产生多余空格
- 合并空行:text.replace(/(\r?\n){2,}/g, '\n\n') — 将连续空行压缩为一个空行,保留段落节奏
- 去除空行:split(/\r?\n/).filter(l => l.trim() !== '').join('\n') — 保留内容行并将行尾统一为 LF
- 换行符大全:CRLF(Windows \r\n,源自打字机的回车+换行)、LF(Unix \n,自 1970 年代起)、CR(经典 Mac 至 System 9)— [\r\n] 字符类覆盖全部三种;Unicode UAX #14 的 U+2028 和 U+2029 被 ES2019 字符串字面量识别,但在用户输入中很少见
- 文件开头的 BOM(U+FEFF)保持不变——如果下游是严格的 JSON 或 CSV 解析器,请用 text.replace(/^\uFEFF/, '') 单独去除
- Git 的 core.autocrlf=true 在检出时自动规范化 CRLF 和 LF——当文件已到达本地且 Git 未处理错误行尾时,可使用此工具修复
示例
整理 PDF 复制的文本
原文:Thi s is
from PDF
copied
content
处理后:ThisisfromPDFcopiedcontent代码压缩示例
原文:function hello() {
return 'world';
}
压缩后:function hello(){return 'world';}整理文章段落
去除多余空行的同时保留段落间距,让文章排版整洁规范常见问题
会去除哪些类型的换行?
三种换行风格都会处理:LF(\n,Unix/macOS)、CRLF(\r\n,Windows)、CR(\r,经典 Mac)。输出会被合并为单行。还可选去除或归一化制表符、多余空格以及其他空白字符。
段落间距会保留吗?
选「合并为单空格」会把每个换行替换为空格;选「直接拼接」则不留任何分隔。对于带空行分段的文本,可以选择保留段落分隔(一个换行),仅去除段落内部的换行——这在整理从 PDF 复制下来的文字时尤其常用。
为什么粘贴的文字里有些换行去不掉?
可能是软换行或不可见的分隔符,例如 U+2028(行分隔符)或 U+0085(NEL)。不要只用普通的换行清理,开启 Unicode 感知的「去除所有空白分隔符」选项即可。某些 PDF 文本里还混有零宽空格——再开启「去除不可见字符」一并处理。
这和代码里的字符串拼接有什么区别?
本质相同,只是有可视化界面。页面所做的相当于 JavaScript 中的 `text.replace(/\r?\n/g, ' ').trim()`。如果在写脚本,直接用代码即可;如果只是临时清理一段粘贴文本,用本工具更方便。
会移除行尾空格和重复空格吗?
开启「合并多个空格」后会处理——这对原文用多个空格做对齐的情况很有用。每行末尾的空白也会在拼接前被去除。
对中日韩文本能正常工作吗?
可以。默认情况下,中文/日文字符之间的换行会被直接去掉,不会插入西文空格——东亚标点习惯本就不在字符间留空格。如果你的文本中英混排,可开启「保留单词间距」选项。
我的文本会上传吗?
不会。替换在你的浏览器里完成,粘贴的内容不会被传输。