不间断空格的处理方法
最近在处理文本的时候多次遇到不间断空格,开始没有注意,后来造成了不小的麻烦。这里记录一下它的处理方法。
1. 定义
不间断空格,或称不换行空格,Unicode代码为U+00A0,用来避免一些内容因为换行而分开。
例如,如果在3 cm之间使用空格,可能会导致在换行的时候把数字和单位分开,这时可以在中间使用不间断空格,就能保证即使在换行的位置也不会被分在两行。
2. 查找方法
不间断空格在一些软件中会有明确的标记:
- Word:打开「显示编辑标记」,会渲染为
°。 - Neovim:会渲染为
+。
也可以使用十六进制显示来查找:
1 | hexdump -C file.txt | grep 'c2 a0' |
3. 输入方法
在Windows下可以使用直接输入Unicode字符的方法:
- 按住
Alt,然后使用数字小键盘依次输入0160,最后松开Alt即可。
在不同的软件中也有其它输入方法:
- Word:先输入
00a0,然后按Alt+x,可以直接将Unicode代码转换为对应的字符。 - vim/neovim:依次按
Ctrl+k space space即可。
另外,在一些特殊格式的文件中还有其它的输入方式:
- HTML/Markdown:直接使用
即可。 - LaTeX:直接使用
~即可。
4. 替换方法
最简单的方法是在可视化编辑器中替换:
- Word:使用前面的方法在「查找」栏输入不间断空格即可。
- Notepad3:在「查找」栏输入
\xa0即可替换。
使用命令行的方法:
- sed:
sed -i 's/\xc2\xa0/ /g' file.txt - perl:
perl -CSD -pi -e 's/\x{00a0}/ /g' file.txt