我试着用字符串来转义所有正斜杠。
目标:
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!}\\/'在节点控制台中,它提供上述输出。检查:http://i.imgur.com/J0XQ51t.png。如何将/替换为\/
发布于 2013-10-02 12:13:36
你的第二次尝试实际上很成功。问题是如何读取其中已转义字符的字符串,如Node控制台所示。如果要将撇号放在字符串的中间,则必须按如下方式转义:
var s = 'I\'m cool';同样地,当你想在字符串中放反斜杠时,你也必须转义:
var s = 'This is a single backslash: \\';因此,如果您这样做:'/'.replace(/\//g, '\\'),您将得到一个单字符字符串-一个反斜杠。节点选择显示字符串,因为必须键入字符串才能使其在代码中有效(即转义反斜杠,它看起来像2个反斜杠),而不是实际情况。
Chrome控制台不这样做,Firefox也不这样做。在那里试试,看看不同之处。
https://stackoverflow.com/questions/19134106
复制相似问题