我尝试在一个字符串中替换所有出现的\
,但我找不到方法,即使在web上和这里搜索了也找不到。
这是我尝试过的:
$ node
> var x = 'foo\bar\base'
> x.replace(/\\/g, '/');
'foo\bar\base'
我期望的是foo/bar/base
,但是字符串没有改变。
split()
也是如此:
> x.split('\\')
[ 'foo\bar\base' ]
Context:这是从DOM中获取的,我通过以下命令获得该字符串
var node = document.querySelector(sel);
node.innerText.replace(/\\/g, '/');
编辑我在nodejs中的体验和在真实浏览器中的体验之间存在混淆,请在this answer中查看@Jeffrey Westerkamp评论
发布于 2018-06-05 02:10:30
转义原始字符串中的反斜杠:
var x = 'foo\\bar\\base'
说明:\
是默认的转义字符-在原始字符串中,每个\b
对都是一个退格符-要在字符串文字中包含反斜杠,您需要对其进行转义,例如\\
发布于 2018-06-05 02:24:17
我找到了一个解决方案:
node.innerText.split('\\').join("/")
https://stackoverflow.com/questions/50686410
复制相似问题