【问题标题】:Remove quotes in javascript删除javascript中的引号
【发布时间】:2018-09-02 22:17:26
【问题描述】:

我正在以""Value"" 的形式获取变量中的数据。所以,我想删除引号,但只删除内部引号。 我试过了,但它不起作用。

var value = "fetchedValue";
value = value.replace(/\"/g, "");

谁能举例说明?

expected = "Value"

【问题讨论】:

  • 您当前的value 在变量中没有引号 - 它是一个字符串。你的意思是var value = '"fetchedValue"';
  • 你的例子 var value = "fetchedValue"; value = value.replace(/\"/g, ""); 没有意义。 'value' 变量中最初没有双引号字符。另外,您遇到了什么具体问题。说它“不工作”是没有帮助的,描述它是如何不工作的以及你遇到的任何控制台(或其他)错误
  • @CertainPerformance 不,我以 ""FetchedValue"" 形式获取数据,但现在使用 value = value.replace(/\"/g, ""); 对我来说工作正常;
  • 请提供一个实际演示您遇到的行为的示例。您的value 确实没有包含任何引号,因此人们无法正确地帮助您。

标签: javascript angularjs


【解决方案1】:

这很奇怪。您的解决方案应该有效。
好吧,试试这个:

var value = "fetchedValue";
value = value.slice(1, -1);

【讨论】:

  • 短小精悍
【解决方案2】:

我希望这会奏效:

var value = '"fetchedValue"';
value = value.replace(/^"|"$/g, '');

【讨论】:

    【解决方案3】:
    let str = '"Value"';
    str = str.replace(/"|'/g, '');
    

    输出 = 价值

    【讨论】:

    • 欢迎来到 Stack Overflow!在 StackOverflow 上添加解释为什么你的解决方案应该工作是一个很好的做法。
    【解决方案4】:

    这将处理两个引号""的存在

    function removeQuotes(a) {
        var fIndex = a.indexOf('""');
        var lIndex = a.lastIndexOf('""');
        if(fIndex >= 0 && lIndex >= 0){
          a = a.substring(fIndex+1, lIndex+1);
        }
        return a;
        
    }
    
    console.log(removeQuotes('"Foo Bar"'));
    console.log(removeQuotes('""Foo Bar""'));

    【讨论】:

      猜你喜欢
      • 2013-11-22
      • 2016-08-05
      • 1970-01-01
      • 2010-12-29
      • 2018-05-28
      • 2020-01-30
      • 2017-05-21
      • 1970-01-01
      相关资源
      最近更新 更多