替换& # 39; & # 39;& # 39; & # 39;在一个字符串中

Replace '' with '-' in a string

本文关键字:一个 字符串 替换      更新时间:2023-09-26

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

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

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

我在这里犯了什么错误,原因是什么,如何实现这个…?

Working JS Fiddle

您的s初始值为adbcsjhffkjfhaf。你是指

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

你需要在你的输入字符串中使用双反斜杠:

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

在字符串字面值中以'''作为字符的前缀赋予该字符特殊的含义(例如''t'表示制表符)。如果你想在字符串中包含''',你必须用第二个反斜杠转义:''''

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

你需要用''转义'。如:"adbc''sjhf''fkjfh''af"

字符串不包含反斜杠,它包含'a, 's和'f (Form Feed的转义序列)。

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

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

你可以用-

代替它