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