JavaScript 将 / 替换为 /

javascript replace / with /

本文关键字:替换 JavaScript      更新时间:2023-09-26

我正在尝试转义字符串中的所有正斜杠。

目的:

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!}''/'

在节点控制台中,它给出了上述输出。检查 : https://i.stack.imgur.com/X471f.png。如何将/替换为'/

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

var s = 'I''m cool';

同样,当你想在字符串中加入反斜杠时,你也必须转义它:

var s = 'This is a single backslash: ''';

所以,如果你这样做:'/'.replace(/'//g, '''')你会得到一个单字符字符串 - 一个反斜杠。 Node 选择显示字符串,因为您必须键入它才能使其在代码中有效(即转义的反斜杠,看起来像 2 个反斜杠),而不是实际的样子。

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