长破折号、连接号与连字符的区别

三个外形相似、却不可互换的 Unicode 字符。

连字符(-)用于合成词:well-known。连接号(–)表示范围和连接:第 20–24 页。长破折号(—)在句中分隔插入语,作用类似一个语气更强的逗号。它们是三个宽度递增、各自独立的 Unicode 字符,解析器、搜索和排版系统对它们的处理方式都不同。

三个字符一览

名称源自传统铅字排版:连接号(en dash)的宽度等于大写字母 N,长破折号(em dash)的宽度等于大写字母 M。

符号 名称 码位 宽度 主要用途
- 连字符-减号 U+002D 最短 合成词
连接号(En dash) U+2013 中等 范围与连接
长破折号(Em dash) U+2014 最长 句中停顿与分隔

第一个字符就在键盘上,另外两个则不是——这正是大多数混淆的实际根源:人们在该用连接号或长破折号的地方打了连字符,因为它是唯一不需要快捷键就能输入的符号。

-连字符U+002D复合词:well-known短破折号U+2013范围:2020–2024长破折号U+2014句中停顿
同一字号下的连字符、短破折号和长破折号,及其标准用法。

连字符

连字符把多个部分连成一个整体。

  • 名词前的复合修饰语:a well-known author、a twelve-year-old dog、a state-of-the-art facility。注意,当这个短语移到名词之后时,连字符会消失:the author is well known
  • 某些前缀,尤其是为了避免字母碰撞或歧义时:re-electco-ownerre-cover a chair(区别于 recover from illness)。
  • 两端对齐排版中行尾的单词断行
  • 复合数字twenty-three

严格来说,键盘上这个字符叫连字符-减号(hyphen-minus)——一个码位同时充当连字符、减号和命令行参数标志,这是从打字机和早期 ASCII 继承下来的。Unicode 确实有专用的连字符(U+2010)和减号(U+2212),但几乎没有地方使用它们,你也不要开始用:- 才是解析器、shell 和 URL 所期望的字符。

连接号

连接号表示之间。它是连接,而不是合并。

  • 数字范围:第 20–24 页、2020–20249am–5pm。文体规范建议不要与文字混用:应写 from 2020 to 2024,而不是 from 2020–2024
  • 独立实体之间的连接或对立Paris–Dakar 拉力赛、doctor–patient 关系、east–west 轴线。这里与连字符的区别很重要——用连字符的 Franco-German 暗示一个融合的整体,而用连接号的 France–Germany 表示相互关联的两方。
  • 其中一部分本身已是多词短语的复合修饰语:a post–World War II settlement。如果用连字符,它只会连接到 "World"。
  • 比分和投票结果3–1 获胜。

连接号是三者中使用最少、也最常被连字符替代的符号。在行文中,这种替代只是细微的排版不精确,很少有读者会注意到。但在数据中就不细微了:用连接号书写的日期范围无法匹配查找连字符的正则表达式。

长破折号

长破折号用于分隔短语,造成的停顿比逗号更强,又比句号更弱。

  • 成对使用,包住插入语The results — which nobody expected — were clear.
  • 单独使用,引出结论或转折She checked everything twice — and still missed it.
  • 在对话中表示被打断的话

是否加空格是唯一真正存在分歧的文体问题。美国出版惯例(Chicago Manual of Style)让长破折号紧贴文字:word—word。英国惯例(Oxford 及多数英国报纸)则改用两侧带空格的连接号:word – word。两种写法都正确,关键是同一篇文档内保持一致。AI 输出通常使用带空格的长破折号——word — word——这是两种惯例的混合体,所以在熟悉任一传统的编辑看来会隐约觉得不对劲。

长破折号还成了 AI 生成文本的一种非官方标志,因为模型使用它的频率远比人类稳定。这一点在 为什么 ChatGPT 用这么多长破折号 中有详细讨论。

如何输入每个符号

平台 连接号(–) 长破折号(—)
macOS Option + - Option + Shift + -
Windows Alt + 0150 Alt + 0151
Linux Ctrl + Shift + u,2013 Ctrl + Shift + u,2014
Word / Docs 单词之间输入两个连字符会自动更正 输入两个连字符会自动更正
HTML – —
iOS / Android 长按连字符键 长按连字符键

Windows 的 Alt 代码需要数字小键盘,这就是为什么很多笔记本用户干脆从来不输入这些字符。

什么时候混用真的会出问题

在行文中,该用连接号的地方用了连字符只是排版上的小瑕疵。但在行文之外,这是三个不同的码位,区别是功能性的:

  • 搜索和查找替换按精确字符匹配。搜索 2020-2024 找不到 2020–2024
  • Shell 命令需要 U+002D。从文档里粘贴的 --force 如果被自动更正变成了长破折号,就不再是有效的参数标志,而报错信息里不会提到破折号。
  • CSV 和 JSON 把连接号和长破折号当作普通文本,通常没问题——直到某个本该与键名匹配的值匹配不上。
  • URL 和 slug 只接受 ASCII 连字符。
  • 排序和去重把三者视为不同字符,看起来完全相同的条目不会被归为一组。

如果需要统一整篇文档中的破折号,删除文本中的长破折号 可以将它们替换为你选择的替代符号,并报告替换数量,让你能核对数量是否符合预期,而不是盲目信任一次静默替换。引号方面的类似陷阱在 为什么弯引号会破坏代码 中有介绍。

常见问题

长破折号和连接号有什么区别?

连接号(–,U+2013)表示"到"或"至",用于标记范围,如 2020–2024。长破折号(—,U+2014)在句中分隔短语,作用类似一个语气更强的逗号。长破折号的宽度大约是连接号的两倍,两者是独立的 Unicode 字符。

什么时候应该用连字符而不是破折号?

要把多个词合成一个整体时用连字符:well-known、twenty-three、re-elect。如果你要表达的是范围、两方之间的连接,或句中的停顿,就应该用连接号或长破折号。

长破折号两侧要加空格吗?

取决于所遵循的文体规范。美国惯例让它紧贴文字(word—word),英国惯例通常使用两侧带空格的连接号(word – word)。两种写法都正确,关键是同一篇文档内保持一致。

如何输入长破折号?

在 macOS 上按 Option + Shift + 连字符键。在 Windows 上按住 Alt 并在数字小键盘上输入 0151。在 Word 和 Google Docs 中,在单词之间输入两个连字符会自动转换。在手机上,长按连字符键。

用连字符代替连接号要紧吗?

在行文中,这只是大多数读者注意不到的小瑕疵。但在数据、代码、URL 或任何会被搜索和解析的内容中,影响很大——因为三者是不同的字符,精确匹配会失败。

本指南提到的工具

相关指南