0

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

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

我认为这是正确的方法,当然我错了,因为在警报中它显示adbcsjhffkjfhaf但我需要它像adbc-sjhf-fkjfh-af

我在这里犯了什么错误,它的原因是什么以及如何实现这个......??

工作 JS 小提琴

4

4 回答 4

11

s最初是adbcsjhffkjfhaf. 你的意思是

var s="adbc\\sjhf\\fkjfh\\af";
于 2013-04-17T12:30:22.850 回答
3

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

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

在字符串文字中以'\' 为前缀赋予该字符特殊的含义(例如,'\t'表示制表符)。如果你想在你的字符串中实际包含一个'\',你必须用第二个反斜杠对其进行转义:'\\'

于 2013-04-17T12:30:42.710 回答
2

Javascript 忽略了字符串中的 in \\s \f \a做一个console.log(s)分配后,你会明白的。

你需要\\\. 喜欢:"adbc\\sjhf\\fkjfh\\af"

于 2013-04-17T12:31:19.870 回答
1

该字符串不包含反斜杠,它包含 \a、\s 和 \f(换页符的转义序列)。

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

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

您将可以将其替换为-

于 2013-04-17T12:46:57.593 回答