用\\替换\时出错

时间:2013-11-28 20:02:36

标签: javascript

我想在\

的字符串中替换\

我这样做:

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

但它不起作用。

例如:“使用\字符的文字”不会被替换。

如果我使用

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

结果为"Text using the ZZZ character".

4 个答案:

答案 0 :(得分:2)

您需要注意,您正在逃避\本身,并添加额外的\以进行补偿。

首先要注意的是,你通常需要一个甚至个数,因为 - 以这个案例为例 - 用'\\\'你写的是{{1}然后转义结束\,打破整个代码行。

所以:

'

答案 1 :(得分:2)

你需要4个反斜杠:

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

然后它起作用:http://jsfiddle.net/gmQg3/

答案 2 :(得分:0)

您在替换函数的第二个参数中错过\,只有\\\生成错误 试试这个:

var replaced = str.replace(/\\/g, "\\\\");

答案 3 :(得分:0)

使用它,而不是:

string.replace (/\\/g, "\\\\");

您在替换后的字符串中缺少反斜杠 确保在双引号字符串中始终使用偶数个反斜杠 记住这一点的一个简单方法是每对反斜杠代表一个实际的反斜杠字符,当以这种方式使用时(尽管这不是真的在这里发生)。 :)