去除每行首尾空白
粘贴任意文本列表,每一行的首尾空白都会被去除 — 空格、Tab,甚至不可见的 Unicode 空白(NBSP、全角空格等)。默认顺手把变成空行的那些也丢掉;如果想保留空白行(只是会变成空行),把开关关掉就行。
或按 Ctrl+Enter
什么时候用这个工具
指南从 CRM、Sheets 或任意数据流导出的内容,常常带着缩进的前导空格、引号引起的尾部空白。一次 trim 后,下游工具拿到干净的值。
从文档复制粘贴出来的邮箱列表几乎都带着「 [email protected] 」的空格。导入邮件平台前一次 trim,避免被校验器以「带空格」理由拒收。
`awk`、`ps`、`df`、Docker logs 等命令的对齐列经常用空格填充。按行 trim 一下,diff、grep、复制粘贴到表格列就都方便了。
从带换行的段落或 PDF 复制时,经常粘到不可见 Unicode 空格(NBSP、全角空格、各种 en/em space),后续正则或字符串匹配会无故失败。提前 trim 一遍省好多调试时间。
使用方法
三个步骤-
01
粘贴文本
CSV 导出、日志输出、从 PDF 复制的段落 —— 任何首尾带杂散空白的内容。
-
02
决定空行的处理
「去除空行」默认打开 —— trim 后变空的行会被删除。关闭则保留原始行数(变空的行在输出里显示为空白)。
-
03
点击执行
每行首尾的空白被剥掉:空格、Tab、不可见 Unicode 空白(NBSP、en-space、em-space、表意空格)全部清理。
引擎内部
工程笔记- 剥掉的字符
- 每行 /^\s+|\s+$/
- 吞吐
- 2024 款 M3 MacBook Air 上 10 万行 trim 约 90 ms
- 线程
- 文件 ≥ 2 MB 或 ≥ 10 万行时启用 Web Worker
JavaScript 的 \s 涵盖 Tab、空格、NBSP(U+00A0)、en-space(U+2002)、em-space(U+2003)、thin space(U+2009)、表意空格(U+3000)。零宽空格(U+200B)不在 \s 内,会保留。
线性单次扫描,每行一次正则 replace。输出在最后一次性分配,不做逐行拼接。
超过桌面端阈值时页面保持可响应,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 完全在你的浏览器内运行。没有上传步骤、没有服务端处理、不对你粘贴的文本做任何遥测。