ToolAct工具行动

去除换行工具

快速去除文本中的换行符,支持多种处理模式

输入内容
字符数: 0
行数: 0
转换结果
字符数: 0
行数: 0

选择处理方式

什么是去除换行?

去除换行是将文本中的换行符进行处理或删除的操作。换行符是控制文本显示格式的特殊字符,不同系统使用不同的换行符标准:Windows 使用 CRLF(\r\n),Unix/Linux 使用 LF(\n),早期 Mac 使用 CR(\r)。本工具支持处理所有常见换行符格式,提供四种处理模式:去除所有换行、换行转空格、去除空行、合并空行,满足不同场景下的文本整理需求。

使用方法

使用方法

  1. 在左侧输入框输入或粘贴要处理的文本
  2. 选择处理模式(删除所有换行符、换行符转空格等)
  3. 结果将自动显示在右侧,支持实时预览
  4. 点击「复制」即可复制结果,或点击「交换」将结果作为输入继续处理

文本清理技巧

  • 需要让词语保持分隔时,请选择「换行符转空格」;删除所有换行符可能会意外合并单词或字段。
  • 对于 CSV、代码或地址等结构化数据,复制前请先预览结果,因为换行符可能承载语义。

使用场景

将复制的文本扁平化为一行当来自 PDF、邮件、终端或自动换行网页的粘贴文本需要变成连续字符串时,使用去除所有换行模式。两侧的字符数和行数统计便于验证转换结果。输出是可以干净地放入 JSON 字符串、SQL VALUES 行或 .env 值的单行文本。
将换行符转换为空格换行转空格模式在去除硬换行的同时保留词语分隔,适合从窄栏复制的段落、翻译文本、CSV 备注或需要变成单个可读段落的提示词。输出保持标点和大小写不变,换行边界变为单个空格。
在不破坏结构的前提下清理空行去除空行模式仅删除空白行,合并空行模式将重复的换行规范化为单个换行。这两种模式适合整理列表、日志、大纲和粘贴笔记等行结构仍然重要的文本。当段落间距承载含义时选择合并空行,当只关心内容时选择去除空行。
规范化 CRLF、LF 和 CR 行尾当文本来自 Windows、macOS 或较旧的来源时,切换到仅针对回车或换行字节的模式。正则表达式 \r?\n\s* 可在单次处理中干净地处理混合的 CRLF(Windows)、LF(Unix/Linux)和单独 CR(经典 Mac)输入。这避免了触及段落内意外的空格,同时修复了会破坏 shell 脚本、git diff 或 Markdown 表格的混合行尾。
粘贴到 JSON 字符串、SQL VALUES 或 env 文件中在将复制的笔记放入 JSON 字面量、SQL VALUES 列表或 .env 条目之前先扁平化,因为原始换行会破坏解析。两个面板上的字符数和行数统计帮助确认结果是一行干净的文本,然后根据目标格式进行适当的引号或转义处理。扁平化后的值可以重新格式化为带 \n 转义的 JSON 形式,或保持原样用于接受多行输入的工具。

技术原理

每种模式都是通过一次 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()`。如果在写脚本,直接用代码即可;如果只是临时清理一段粘贴文本,用本工具更方便。

会移除行尾空格和重复空格吗?

开启「合并多个空格」后会处理——这对原文用多个空格做对齐的情况很有用。每行末尾的空白也会在拼接前被去除。

对中日韩文本能正常工作吗?

可以。默认情况下,中文/日文字符之间的换行会被直接去掉,不会插入西文空格——东亚标点习惯本就不在字符间留空格。如果你的文本中英混排,可开启「保留单词间距」选项。

我的文本会上传吗?

不会。替换在你的浏览器里完成,粘贴的内容不会被传输。