javascript替换为\/

javascript替换为\/,javascript,escaping,Javascript,Escaping,我正试图摆脱一条线中所有的前斜线 目标: convert('path/to/awesomeness/{plus}/{special-characters!}/') 'path\/to\/awesomeness\/{plus}\/{special-characters!}\/' 结果1: 'path/to/awesomeness/{plus}/{special-characters!}/'.replace(/\//g, '\/') 'path/to/awesomeness/{plus}/{spe

我正试图摆脱一条线中所有的前斜线

目标:

convert('path/to/awesomeness/{plus}/{special-characters!}/')
'path\/to\/awesomeness\/{plus}\/{special-characters!}\/'
结果1:

'path/to/awesomeness/{plus}/{special-characters!}/'.replace(/\//g, '\/')
'path/to/awesomeness/{plus}/{special-characters!}/'
结果2:

'path/to/awesomeness/{plus}/{special-characters!}/'.replace(/\//g, '\\/')
'path\\/to\\/awesomeness\\/{plus}\\/{special-characters!}\\/'

在节点控制台中,它提供上述输出。支票:。我如何用
\/
替换
/

您的第二次尝试实际上效果很好。问题是如何读取包含转义字符的字符串,如节点控制台中所示。如果你想把一撇号放在一个字符串的中间,你必须这样逃脱:

var s = 'I\'m cool';
同样,当你想在字符串中加反斜杠时,你也必须转义:

var s = 'This is a single backslash: \\';
因此,如果您这样做:
'/'.replace(//\//g,'\\')
您将得到一个字符串-一个反斜杠。节点选择显示字符串,因为您必须键入它才能使其在代码中有效(即转义反斜杠,看起来像两个反斜杠),而不是实际情况


Chrome控制台不这样做,Firefox也不这样做。尝试一下,看看有什么不同。

你的问题不清楚,你做了什么,失败了什么,你到底想要什么?问题很清楚。目标:显示预期行为。结果1:显示尝试的第一件事和输出。结果2:显示尝试的第二件事和输出。只需将其复制/粘贴到节点repl中,然后点击return。如果我将您的第二次尝试复制/粘贴到js控制台中,它将提供您想要的输出。你的问题是关于反斜杠字符串转义的混淆。各位,这看起来是一个有效的问题。请停止否决表决,并删除“暂停”。