写网页时在两个词之间连敲十个空格,浏览器一刷新只剩一个。这不是浏览器抽风,HTML 默认把连续空白折叠成一个,想要多个空格得用专门的空格的代码。

HTML 里的写法

最常用的是  ,全称不间断空格,敲几个就显示几个,两个词之间用它还不会被换行拆开。另有两个宽度不同的:  是半角宽度,  是全角宽度。中文排版里直接打一个全角空格字符也行,从输入法的软键盘里选,或者干脆复制一个过去。不过页面布局上的间距,规范做法是用 CSS 的 margin 和 padding 控制,满屏堆   是偷懒写法,后期改版对齐能累死人。

编程语言里的空格写法

Python 要五个空格的字符串,写 ' ' * 5;JavaScript 用 ' '.repeat(5);Java 用 String 类的重复拼接方法或循环凑。正则里匹配任意空白字符,用的是「反斜杠加 s」这个元字符,匹配普通空格就直接在表达式里写一个空格。找字符串里看不见的空格问题,可以先把字符转成编码打印出来看,全角半角一目了然。

Word 和 Excel 里的空格

Word 里普通空格在换行处会被拆断,按 Ctrl+Shift+空格 打出来的是不间断空格,人名、单位名称不想断行就用它。Excel 里清不掉的空格分两种:TRIM 函数去掉多余的半角空格,SUBSTITUTE 函数替换指定字符,全角空格要单独替换才干净。

编码层面认一认

普通半角空格是 U+0020,全角空格是 U+3000,不间断空格是 U+00A0。网页上「对不齐」「公式匹配不上」的灵异事件,一半都栽在这几个长得一样的家伙身上。

实际判断:网页间距交给 CSS,  留给真正需要空格字符的场合;处理文本前先分清全角半角,能省掉大半排查时间。