我有一个字符串
var myString = "[{"portal.home":"Home"},{"displaytag.tracking.id":"Item ID"}]";
我希望输出为
myString = '[{"portal.home":"Home"},{"displaytag.tracking.id":"Item ID"}]';
答案 0 :(得分:1)
如果使用双引号创建字符串,则不能在其中包含未转义的双引号。
你不能写
var myString = "A "B" C";
这将是语法错误。然而,
var myString = "A \"B\" C";
与以下内容完全相同:
var myString = 'A "B" C';
myString
的结果值完全相同。它不像第一个示例将在最终字符串中包含任何转义标记。转义仅用于帮助创建字符串,在两种情况下都是A "B" C
;在记录时经常用双引号括起来,表示该类型是一个字符串。
因此,如果您运行console.log(myString);
,它会说"A "B" C"
,但myString
的值只是A "B" C
。这只是开发人员工具如何表示字符串的结果。字符串本身没有任何内容表明它是用双引号创建的。开发人员工具同样可以将值记录为特殊颜色,但用双引号括起来恰好是表示字符串的传统方式。
答案 1 :(得分:0)
您可以使用.slice()
执行此操作:
var newString = "'" + myString.slice(1, -1) + "'";
或者使用正则表达式:
var newString = myString.replace(/^"|"$/g, "'");