我在使用 gsub 替换双斜杠时遇到了一些问题。问题是这样的:
我构建了一个小脚本来解析 YAML 文件的目录位置,然后使用它来 glob 该目录中的文件。假设这是它找到的目录:
C:\Program Files\Adobe\Adobe Flash CS3\en\Configuration\ActionScript 3.0\Classes
这是一个 Windows 目录,反斜杠被 YAML 解析器转义,所以这真的是从解析器加载的:
C:\\Program Files\\Adobe\\Adobe Flash CS3\\en\\Configuration\\ActionScript 3.0\\Classes
要使用这个目录,我想 gsub 去掉这些双斜杠:
path.gsub('\\','/')
此调用替换了路径中的大部分双反斜杠,但脚本仍然无法正常工作。当我查看路径变成了什么时,我发现还有一个反斜杠没有被 gsub 替换:
\en
是什么解释了这种奇怪的行为?