我已经看到了之前提出的所有问题,但它并没有帮助我。我有一个包含反斜杠的字符串,我想用'-'替换反斜杠
var s="adbc\sjhf\fkjfh\af";
s = s.replace(/\\/g,'-');
alert(s);
我认为这是正确的方法,当然我错了,因为在警报中它显示adbcsjhffkjfhaf
但我需要它像adbc-sjhf-fkjfh-af
。
我在这里犯了什么错误,它的原因是什么以及如何实现这个......??
我已经看到了之前提出的所有问题,但它并没有帮助我。我有一个包含反斜杠的字符串,我想用'-'替换反斜杠
var s="adbc\sjhf\fkjfh\af";
s = s.replace(/\\/g,'-');
alert(s);
我认为这是正确的方法,当然我错了,因为在警报中它显示adbcsjhffkjfhaf
但我需要它像adbc-sjhf-fkjfh-af
。
我在这里犯了什么错误,它的原因是什么以及如何实现这个......??
你s
最初是adbcsjhffkjfhaf
. 你的意思是
var s="adbc\\sjhf\\fkjfh\\af";
您需要将输入字符串中的反斜杠加倍:
var s="adbc\\sjhf\\fkjfh\\af";
在字符串文字中以'\' 为前缀赋予该字符特殊的含义(例如,'\t'
表示制表符)。如果你想在你的字符串中实际包含一个'\',你必须用第二个反斜杠对其进行转义:'\\'
Javascript 忽略了字符串中的 in \
。\s
\f
\a
做一个console.log(s)
分配后,你会明白的。
你需要\
用\\
. 喜欢:"adbc\\sjhf\\fkjfh\\af"
该字符串不包含反斜杠,它包含 \a、\s 和 \f(换页符的转义序列)。
如果您将字符串更改为adbc\\sjhf\\fkjfh\\af
var s="adbc\\sjhf\\fkjfh\\af";
s = s.replace(/\\/g,'-');
alert(s);
您将可以将其替换为-