Javascript 更换'\';与'-';一串

Javascript 更换'\';与'-';一串,javascript,regex,string,replace,html-escape-characters,Javascript,Regex,String,Replace,Html Escape Characters,我已经看到了之前提出的所有问题,但这对我没有帮助。我有一个包含反斜杠的字符串,我想用“-”替换反斜杠 var s="adbc\sjhf\fkjfh\af"; s = s.replace(/\\/g,'-'); alert(s); 我认为这是正确的方法,当然我错了,因为在alert中它显示的是adbcsjhffkjfhaf,但我需要它像adbc sjhf fkjfh af 我在这里犯了什么错误?原因是什么?如何做到这一点 您的s最初是adbcsjhfkjfhaf。你是说 var s="adbc\

我已经看到了之前提出的所有问题,但这对我没有帮助。我有一个包含反斜杠的字符串,我想用“-”替换反斜杠

var s="adbc\sjhf\fkjfh\af";
s = s.replace(/\\/g,'-');
alert(s);
我认为这是正确的方法,当然我错了,因为在alert中它显示的是
adbcsjhffkjfhaf
,但我需要它像
adbc sjhf fkjfh af

我在这里犯了什么错误?原因是什么?如何做到这一点


您的
s
最初是
adbcsjhfkjfhaf
。你是说

var s="adbc\\sjhf\\fkjfh\\af";

您需要将输入字符串中的反斜杠加倍:

var s="adbc\\sjhf\\fkjfh\\af";

在字符串文字中以“\”作为字符前缀会赋予该字符特殊的含义(例如,
“\t”
表示制表符)。如果要在字符串中实际包含“\”,必须用第二个反斜杠将其转义:
“\\”

Javascript正在忽略字符串中
\s
\f
\a
中的
\
。进行
console.log
分配后,您将理解


您需要使用
\
转义
\
。例如:
“adbc\\sjhf\\fkjfh\\af”

字符串不包含反斜杠,它包含\a、\s和\f(表单提要的转义序列)

如果将字符串更改为
adbc\\sjhf\\fkjfh\\af

var s="adbc\\sjhf\\fkjfh\\af";
s = s.replace(/\\/g,'-');
alert(s);

当我在某些操作中使用该字符串时,您可以将其替换为
-

,它将其视为“adbcsjhfkjfhaf”或“adbc\sjhf\fkjfh\af”。它确实有一个不可见的表单提要(
\f
)和一个铃(
\a
),但没有反斜杠。你说的是什么操作?像使用stringJSON编码器创建JSON这样的操作会再次转义表单提要和bell,以使用可打印字符显示它们。JSON字符串中不应有
\s
。当我将该字符串用于某些操作时,它会将其视为“adbcsjhffkjfhaf”或“adbc\sjhf\fkjfh\af”?当我将该字符串用于某些操作时,它将其作为“adbcsjhffkjfhaf”或“adbc\sjhf\fkjfh\af”。。??