fixmint
ZH

弯引号和破折号会破坏代码:如何改成直引号和普通符号

作者: · · 更新于 2026年11月8日 · 阅读约 4 分钟

弯引号、弯撇号、长破折号和短破折号、不间断空格,看起来和普通符号一样,但计算机会把它们当作不同的字符。代码、CSV 文件、表格公式和命令行需要的是普通符号。粘贴进来的引号会失去字符串界定符的作用,参数里的双连字符会变成破折号,不间断空格则可能让程序读不懂某一行。在粘贴到代码之前,先把字符改成普通形式,再到实际运行的地方测试结果。

修复粘贴的文本粘贴的文本有很多断行免费使用

这些字符从哪里来

文字处理软件和许多邮件程序在你打字时会把直引号换成弯引号,这叫智能引号。Word 还可能把两个连字符换成破折号。网页和一些编辑器会插入不间断空格(U+00A0),让两个词保持在同一行。这些字符在排版上是正确的,所以才会出现。但对于程序要读取的内容,它们就是错的。

哪里会出错

位置会出现什么问题
源代码弯引号不是字符串界定符,很多语言会拒绝字符串之外的弯引号或不间断空格
Shell 命令输入的长破折号不是参数标记,程序会把它当作无法识别的参数
CSV 文件解析器用直双引号包裹字段,弯引号无法保护字段中的逗号
表格公式弯引号会成为文本的一部分,或者公式直接报错
JSON弯引号不是合法的字符串界定符,解析会失败

关于 CSV 文件遵循的引号规则,请参阅 CSV 转 JSON 指南。

在 fixmint 中转为直引号

常见情况大致可以用三个工具处理,每个工具处理的字符范围不同。

  1. 弯引号。 打开修复粘贴文本,勾选“将弯引号转为直引号”。它会把弯单引号和弯撇号转为直单引号,把弯双引号转为直双引号,但会保留破折号不动。其他选项,例如删除行首行尾空白和合并重复空格,默认已勾选。
  2. 破折号、省略号和特殊空格。 打开删除不可见字符,勾选“同时把弯引号、长短破折号和 … 转为普通 ASCII 字符”。破折号会变成连字符,省略号会变成三个点。不间断空格默认转为普通空格。标记视图会显示每处改动的位置。
  3. 单个字符或短语。 打开查找替换,不勾选正则表达式,在“查找”里输入要替换的字符,在“替换”里输入它的普通形式。正则表达式关闭时,“查找”框按字面匹配,因此弯引号只会匹配它自己。

下面是第二个工具处理一段典型粘贴内容的效果:

处理前处理后
“Hello,” she said."Hello," she said.
It’s done.It's done.
—verbose-verbose

最后一行说明了一个限制。每个破折号都只会变成一个连字符,所以被文字处理软件合并成一个长破折号的双连字符,会变回单个连字符。像 --verbose 这样的参数,转换后需要手动修正。

把处理结果粘贴到实际运行的地方,并在那里测试。转换不会改变文本的含义,所以能正常运行才是真正的检验。

检查结果

把转换后的文本再用删除不可见字符处理一遍,然后看标记视图。仍然被标出的内容,说明第一次处理没有覆盖到,例如零宽空格或少见的空格。标记视图会显示每个字符的位置,你可以直接在原处修正。

这些字符在屏幕上看起来几乎一样,所以目视检查很容易漏掉。直引号和弯引号的形状只有细微差别,很多字体里长破折号也和连字符看起来相似。应该测试文本本身,而不是依靠眼睛判断。

什么时候不应该转换

印刷品或网页上给人阅读的文字,应保留弯引号和破折号,那是正确的排版。只对要进入代码、CSV、公式或命令的内容做转换。如果你在文字处理软件里写的内容以后要粘贴到代码里,最好提前关闭智能引号选项。

特殊情况

  • 混用引号。 一份文档可能同时含有弯引号和直引号。先执行一次转为直引号的步骤,再搜索结果中是否还残留,因为不同来源的文本情况不同。
  • 单词中的撇号。 缩写中的弯撇号会变成直撇号,这通常正是代码所需要的。检查字符串内部出现的缩写是否正确。
  • 保留原文件。 转换是单向的:直引号无法告诉你它原来是哪一种弯引号。请保留原始文档,并在副本上做修改。
  • 句子中的破折号。 用作句中停顿的长破折号会变成连字符,因此 "wait — stop" 会变成 "wait - stop"。如果文本是给人阅读而不是给程序用的,就需要手动改回。
  • 不可见字符。 粘贴的文本还可能含有零宽空格。它们不是引号,但会以类似的方式破坏代码。隐藏字符指南对此有详细介绍。

由 AI 辅助翻译自英文原文。

评论

    还没有评论。快来抢沙发。

    你的评分(可选)

    你的邮箱不会被显示或保存。

    How to Remain Valuable When Intelligence Becomes Cheap 的封面How to Remain Valuable When Intelligence Becomes Cheap

    224页,探讨当AI能完成大部分认知工作时,哪些人类、经济和战略上的优势依然稀缺。

    $3.84在 Gumroad 获取英文阅读