去掉行首行尾空格:从 PDF 复制来的缩进怎么清
每行开头和结尾的空格、制表符会被删掉,行内的空格和段落之间的空行都保留。处理完再贴回编辑器,那些莫名其妙的缩进和引用符号就不会冒出来。
什么时候要清行首行尾空白
从 PDF 复制一段文字,每行开头常带着几个空格;从邮件或网页复制,行尾可能有看不见的空格。粘进 Markdown 时,行首四个空格会被当成代码块,行首一个空格加「>」会变成引用,看起来完全不是你要的样子。
另一个场景是整理 CSV 或表格导出的列:单元格里前后带空格,排序和查找匹配都会失败,「张三」和「张三 」在系统里是两个不同的值。批量清一遍,再去重或比对才准确。
- PDF、邮件、网页复制来的段落
- CSV、表格导出的带空格字段
- 提交代码前的行尾空白清理
怎么用才不出错
只处理每行开头和结尾的空格与制表符,行内的连续空格不动,所以靠空格对齐的表格、代码里需要保留的缩进都不会被打乱。空行本身没有内容可删,会原样保留,段落之间的分隔也不会消失。
注意全角空格(U+3000)不在处理范围内,从日文或中文网页复制来的缩进如果用的是全角空格,会保留下来,看起来「清了但没完全清」。需要的话先在编辑器里把全角空格替换成半角,再用本工具过一遍。
- 全角空格不会被删除,需要先替换
- 行内空格保留,不影响对齐
- Markdown 行尾两个空格的强制换行会被破坏
局限与替代
它只去空白,不合并连续空格、不删空行、不改缩进层级。要合并多个空格,需要「删除多余空格」类的处理;要删空行,需要专门的空行清理;要统一缩进,得在编辑器里按语言格式化。
还有一个副作用:Markdown 里用行尾两个空格表示强制换行,这两个空格会被当成行尾空白删掉,换行就失效了。依赖这种写法的话,改用行尾反斜杠或插入空行,再跑本工具。
- 不合并行内连续空格
- 不删除空行
- 会破坏 Markdown 行尾双空格换行
常见问题
全角空格会被去掉吗?
不会。这里只处理半角空格和制表符,从日文或中文网页复制来的全角空格(U+3000)会保留。需要清理时,先在编辑器里把全角空格替换成半角,再用本工具处理一遍。
段落之间的空行会消失吗?
不会。空行本身没有内容可删,会原样保留。但如果你靠行尾两个空格做 Markdown 强制换行,这两个空格会被当成行尾空白删掉,需要改用反斜杠或空行来换行。
行内的多个空格会被合并吗?
不会。工具只动每行的首尾,行内连续空格原样保留。要合并行内多空格,需要另做一次「删除多余空格」的处理,或先在编辑器里用正则替换。
相关工具:去掉行首行尾空格