Vanilla JS,不能替换从DOM中获取的字符串中的反斜杠

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (100)

我尝试替换\字符串中的所有出现,但我找不到方法,即使在网上和这里搜索。

这是我试过的:

$ node
> var x = 'foo\bar\base'
> x.replace(/\\/g, '/');
'foo\bar\base'

我希望foo/bar/base但字符串不变。

同样的事情split()

> x.split('\\')
[ 'foo\bar\base' ]

上下文:这是来自DOM,我得到这个字符串

var node = document.querySelector(sel);
node.innerText.replace(/\\/g, '/');

编辑我在nodejs中的尝试和我在真实浏览器中可以拥有的内容之间存在混淆,请在此答案中查看@Jeffrey Westerkamp的评论

提问于
用户回答回答于

我找到了一个解决方案:

node.innerText.split('\\').join("/")
用户回答回答于

转义原始字符串中的反斜杠:

var x = 'foo\\bar\\base'

解释:这\是默认的转义字符 - 在原始字符串中,每\b对都是退格 - 要在字符串文字中包含反斜杠,您需要将其转义,即\\

扫码关注云+社区

领取腾讯云代金券