Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript .replace()函数不';t用反斜杠代替正斜杠_Javascript_String_Replace - Fatal编程技术网

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'