我想用安全的\
替代符号'\'。
但是当我尝试将代码应用于替换 '\' 时,它会替换所有'#'并失败。
el = el.replace(/\#/g, '#'); // replaces all '#' //that's cool
el = el.replace(/\\/g, '\'); // replaces all '\' //that's failing
为什么?我想用安全的\
替代符号'\'。
但是当我尝试将代码应用于替换 '\' 时,它会替换所有'#'并失败。
el = el.replace(/\#/g, '#'); // replaces all '#' //that's cool
el = el.replace(/\\/g, '\'); // replaces all '\' //that's failing
为什么?打开控制台并输入
'\'.replace(/\\/g, '\');
出现错误的原因是字符串中的斜杠并不是真正存在于该字符串中,而是用于转义。
'\\'.replace(/\\/g, '\');
这段代码有效是因为它只需要一个斜杠并找到它。
你的正则表达式有效。
/\\/g
查找单个反斜杠。我们从未将单个反斜杠替换为双反斜杠。第一个反斜杠转义了第二个反斜杠,因此这个正则表达式全局查找单个反斜杠。要处理 "domain\user",/\\/g
应该可以很好地工作。 - dansch
el
包含'\'
字符吗? - zzzzBov#
不需要转义;el.replace(/#/g, '#')
应该可以工作。而且你的替换反斜杠的代码在这里也可以正常工作。 - NullUserException