15

我想用安全\替换替换反斜杠 => '\'。

但是我的代码在申请替换'\'时替换所有'#'失败:

el = el.replace(/\#/g, '#'); // replaces all '#' //that's cool
el = el.replace(/\\/g, '\'); // replaces all '\' //that's failing

为什么?

4

2 回答 2

18

打开控制台并输入

'\'.replace(/\\/g, '\'); 

失败,因为字符串中的斜杠实际上不在字符串中,它正在转义 '

'\\'.replace(/\\/g, '\');

有效,因为它需要一个斜线并找到它。

你的正则表达式有效。

于 2012-10-15T21:03:01.553 回答
2

您可以使用String.raw在字符串文字中方便地添加斜杠。例如String.raw`\a\bcd\e`.replace(/\\/g, '\');

于 2016-05-10T10:30:23.000 回答