Javascript .replace()函数不';t用反斜杠代替正斜杠
我想将所有斜杠更改为一个字符串,但我找不到解决方案。 这是我的代码:Javascript .replace()函数不';t用反斜杠代替正斜杠,javascript,string,replace,Javascript,String,Replace,我想将所有斜杠更改为一个字符串,但我找不到解决方案。 这是我的代码: 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',
replacement = '/';
var replaced = str.replace("\", "/");
console.log(replaced);
console.log("I want to see this: some/stack/overflow");
尝试使用带有全局(g)标志的正则表达式
除了使用正则表达式替换每个事件之外,不只是前面描述的第一个事件 (因此,使用
str.replace(/\\\/g,“/”);
)
在将字符串传递给JavaScript之前,需要先修复它
“some\stack\overflow”
将被解释为“somestackoverflow”
<代码>“\s”和“\o”被视为转义序列,而不是“斜杠字母”,因此字符串实际上没有任何斜杠。您需要“一些\\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='some\stack\overflow' 替换='/' 替换=str.replace(“\”,“/”) 控制台日志(已替换) log(“我想看看这个:some/stack/overflow”)
不到一个小时前就有人问过了:可能是重复的不是重复的,我的问题离那个问题很远。它的措辞就像你的问题是“
str.replace
只替换第一个事件”(这是你问题的一部分),而最难的部分是替换单个未被替换的\
。您将无法访问“stack\overflow”
中的单个\
,因为JS解释器在解析该字符串时会忽略它。
var str = 'some\\stack\\overflow'