首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javascript将/替换为\/ /

javascript将/替换为\/ /
EN

Stack Overflow用户
提问于 2013-10-02 09:45:01
回答 1查看 1.1K关注 0票数 1

我试着用字符串来转义所有正斜杠。

目标:

代码语言:javascript
复制
convert('path/to/awesomeness/{plus}/{special-characters!}/')
'path\/to\/awesomeness\/{plus}\/{special-characters!}\/'

结果1:

代码语言:javascript
复制
'path/to/awesomeness/{plus}/{special-characters!}/'.replace(/\//g, '\/')
'path/to/awesomeness/{plus}/{special-characters!}/'

结果2:

代码语言:javascript
复制
'path/to/awesomeness/{plus}/{special-characters!}/'.replace(/\//g, '\\/')
'path\\/to\\/awesomeness\\/{plus}\\/{special-characters!}\\/'

在节点控制台中,它提供上述输出。检查:http://i.imgur.com/J0XQ51t.png。如何将/替换为\/

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-02 12:13:36

你的第二次尝试实际上很成功。问题是如何读取其中已转义字符的字符串,如Node控制台所示。如果要将撇号放在字符串的中间,则必须按如下方式转义:

代码语言:javascript
复制
var s = 'I\'m cool';

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

代码语言:javascript
复制
var s = 'This is a single backslash: \\';

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

Chrome控制台不这样做,Firefox也不这样做。在那里试试,看看不同之处。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19134106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档