我想用反斜杠替换字符串中未转义的斜杠。但是发生了一些奇怪的事情:"\content\hs\gj\home.css".replace(/\\/gi,"/")返回“ contenthsgjhome.css”。我了解如果将其更改为"\\content\\hs\\gj\\home.css".replace(/\\/gi,"/")`然后它将按预期工作,但是我不能更改字符串,因为它只是nodejs path.join("conetnt", "hs", "gj", "home.css")的输出。我该做什么? 最佳答案 返回"contenthsgjhome.css"的原因是您的字符串中根本没有反斜杠,因为字符串文字中的单个反斜杠将被忽略,除非它们有意义地转义了以下字符(例如"\\"或)。 "\n"作为转义符没有特殊含义,因此将其解释为"\c"。"\content\hs\gj\home.css"最终结果与:"contenthsgjhome.css"因此,"c"没有反斜杠。(请注意,如果确实在像.replace()这样的字符串文字中转义了反斜杠,这只是文字语法的一部分,并且一旦解释后,结果字符串就只有一个反斜杠"\\"。)也许如果您能解释“这只是FS的输出”的意思,那么有人可以提供更多建议。当JSP / ASP / PHP / etc输出JS代码时,这是一个常见问题-在JS解释器看到之前,转义需要在JSP / ASP / PHP / etc代码中进行。