You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript中去除字符串双引号?代码报错求助

问题分析与修复方案

我来帮你排查一下问题哈,你的代码有两个关键错误导致了报错和功能失效,一步步给你拆解:

1. 字符串语法错误(直接触发报错)

你定义productName的代码:

var productName = "300" Table";

这里的第二个双引号"会提前结束字符串,后面的Table"就变成了无意义的语法片段,直接触发语法错误。

解决方法有两种:

  • 转义字符串内部的双引号:用\标记内部双引号为字符串的一部分
    var productName = "300\" Table";
    
  • 用单引号包裹整个字符串:内部双引号无需转义,写法更简洁
    var productName = '300" Table';
    

2. replace方法参数顺序错误(导致无法去除双引号)

你的代码里写了:

var newTemp = productName.replace('"', /'/g);

这里完全搞反了replace的参数规则:replace的第一个参数是要匹配的目标内容(字符串或正则表达式),第二个参数是替换后的内容(字符串或函数)。

如果你想去除所有双引号,应该把双引号匹配出来,替换成空字符串:

var newTemp = productName.replace(/"/g, '');

如果你是想把所有双引号替换成单引号,则写成:

var newTemp = productName.replace(/"/g, "'");

注意要用全局正则/"g,否则只会替换第一个匹配到的双引号。

修正后的完整代码

// 先正确定义字符串
var productName = '300" Table';
console.log(productName); // 输出: 300" Table

// 去除所有双引号(或替换成单引号,按需修改)
var newTemp = productName.replace(/"/g, '');
console.log(newTemp); // 输出: 300 Table

var requestData = JSON.stringify({
  'product_name': productName,
  'page_url': newTemp
});
var obj = JSON.parse(requestData);
console.log(obj); 
// 输出: { product_name: '300" Table', page_url: '300 Table' }

内容的提问来源于stack exchange,提问作者Raghul Rajendran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:13:01