在线去除行首尾空白 · trim 工具 · 一键清理 | DedupeLines
DedupeLines
免费 · 无需注册 浏览器本地处理 · 零上传 · 空格 · Tab · Unicode

去除每行首尾空白

粘贴任意文本列表,每一行的首尾空白都会被去除 — 空格、Tab,甚至不可见的 Unicode 空白(NBSP、全角空格等)。默认顺手把变成空行的那些也丢掉;如果想保留空白行(只是会变成空行),把开关关掉就行。

输入 · 0 行
输出 · 0 行
在左侧粘贴内容 — 结果会实时出现在这里。

或按 Ctrl+Enter

输入行数 0
空行数 0
修剪行数 0
输出行数0

什么时候用这个工具

指南
01 / CSV / 导出清洗

从 CRM、Sheets 或任意数据流导出的内容,常常带着缩进的前导空格、引号引起的尾部空白。一次 trim 后,下游工具拿到干净的值。

02 / 邮箱列表预处理

从文档复制粘贴出来的邮箱列表几乎都带着「 [email protected] 」的空格。导入邮件平台前一次 trim,避免被校验器以「带空格」理由拒收。

03 / 命令行 / 日志输出

`awk`、`ps`、`df`、Docker logs 等命令的对齐列经常用空格填充。按行 trim 一下,diff、grep、复制粘贴到表格列就都方便了。

04 / 粘贴板救场

从带换行的段落或 PDF 复制时,经常粘到不可见 Unicode 空格(NBSP、全角空格、各种 en/em space),后续正则或字符串匹配会无故失败。提前 trim 一遍省好多调试时间。

使用方法

三个步骤
  1. 01

    粘贴文本

    CSV 导出、日志输出、从 PDF 复制的段落 —— 任何首尾带杂散空白的内容。

  2. 02

    决定空行的处理

    「去除空行」默认打开 —— trim 后变空的行会被删除。关闭则保留原始行数(变空的行在输出里显示为空白)。

  3. 03

    点击执行

    每行首尾的空白被剥掉:空格、Tab、不可见 Unicode 空白(NBSP、en-space、em-space、表意空格)全部清理。

引擎内部

工程笔记
剥掉的字符
每行 /^\s+|\s+$/

JavaScript 的 \s 涵盖 Tab、空格、NBSP(U+00A0)、en-space(U+2002)、em-space(U+2003)、thin space(U+2009)、表意空格(U+3000)。零宽空格(U+200B)不在 \s 内,会保留。

吞吐
2024 款 M3 MacBook Air 上 10 万行 trim 约 90 ms

线性单次扫描,每行一次正则 replace。输出在最后一次性分配,不做逐行拼接。

线程
文件 ≥ 2 MB 或 ≥ 10 万行时启用 Web Worker

超过桌面端阈值时页面保持可响应,Worker 处理 trim 并以 .txt 下载交付。

隐私与限制

数据留在哪里

一切都在浏览器标签内运行。文本永远不会上传 —— 没有 fetch、没有 XHR、没有统计。单次硬上限 80 MB。

常见问题

问答

是删除所有空白,还是只删首尾?

只删首尾。行内部的空白 —— 单词之间、Tab 分隔值之间 —— 都保留。如果你想压缩内部空白,请用正则提取工具配合合适的替换模式。

哪些字符算空白?

JavaScript 的 \s 字符类:ASCII 空格、Tab、换行、垂直 Tab、Form Feed,外加 Unicode 空白:NBSP(U+00A0)、en-space(U+2002)、em-space(U+2003)、thin space(U+2009)、表意空格(U+3000)等。注意:零宽空格(U+200B)不属于 \s,不会被 trim 掉。

trim 后变空的行会被删吗?

默认会 ——「去除空行」开关打开。关掉它就会保留每个原始行(trim 到空的行在输出里变成空白行,保持行号对齐)。

我的文本会发送到服务器吗?

不会。trim 完全在你的浏览器内运行。没有上传步骤、没有服务端处理、不对你粘贴的文本做任何遥测。