我想将所有斜杠更改为一个字符串,但找不到解决方案。这是我的代码:
var str = 'some\stack\overflow',
replacement = '/';
var replaced = str.replace("\", "/");
console.log(replaced);
console.log("I want to see this: some/stack/overflow");
我想将所有斜杠更改为一个字符串,但找不到解决方案。这是我的代码:
var str = 'some\stack\overflow',
replacement = '/';
var replaced = str.replace("\", "/");
console.log(replaced);
console.log("I want to see this: some/stack/overflow");
尝试使用全局 (g) 标志的正则表达式。
var str = 'some\\stack\\overflow';
var regex = /\\/g;
var replaced = str.replace(regex, '/');
除了使用正则表达式替换每一个出现之外,不仅仅是这里描述的第一个
(所以,使用str.replace(/\\/g, "/");
)
您需要先修复字符串,然后再将其传递给 JavaScript。
"some\stack\overflow"
将被解释为"somestackoverflow"
。"\s" and "\o"
被视为转义序列,而不是“斜线字母”,因此字符串实际上没有任何斜线。你需要"some\\stack\\overflow"
. 为什么?这就是为什么:
"s\tackoverflow" == "s ackoverflow"
"stackove\rflow" == "stackove
flow"
"\s" 和 "\o" 只是碰巧没有什么特别的意思。
var str = 'some\\stack\overflow'
^^ 这是不正确的。更正的字符串是-
var str = 'some\\stack\\overflow'
另外,使用全局正则表达式。
var replaced = str.replace(/\\/g, "/");
出色地,
你str
只包含一个\\
组,你只尝试替换\\
所以通常会看到类似的东西some/stackoverflow
,所以你的代码是:
var str = 'some\\stack\overflow' // your code
并且str
必须是
var str = 'some\\stack\\overflow'
然后将起作用
尝试这样的事情:
var str = '一些\堆栈\溢出';
替换 = '/';
替换 = str.replace("\", "/");
控制台.log(替换);
console.log("我想看这个:some/stack/overflow");