使用javascript从字符串中删除双引号

这个问题在这里已经有了答案:

  • 如何在JavaScript中将字符串转换为布尔值? 71个答案

  • 我认为你应该考虑为什么价值是“假”而不是假。

    该值分配在哪里,是否有任何理由不能将其分配为适当的布尔值?

    否则,你可以做这样的事情:

    function isStrTrueOrFalse(string) { return !string.toLowerCase().match(/false/);}
    

    这样,任何“false”的字符串都会返回false。 任何其他字符串返回true。 这是因为“str”是真的。 不管内容是什么。

    您也可以在正则表达式中使用i标志,而不是.toLowerCase()

    function isStrTrueOrFalse(string) { return !string.match(/false/i);}
    

    如评论中所述。


    你被低估的原因是你误解了JavaScript中使用类型的方式。 以下代码:

    var x = "thing";
    

    创建一个字符串,一个包含字符thing并绑定变量x到它。 字符串中没有引号。 引号是解析器想要存储字符串的消息。

    请注意,将此值记录到控制台时,会将引号放在值的四周,以显示它是一个字符串,因此它显示为用引号括起来。 这些引号不存储。

    你的替换代码不起作用的原因是首先在字符串中没有引号。

    如果你写了以下内容:

    var y = ""thing"";
    

    要么

    var z = '"thing"';
    

    那么你会有一个带有引号的字符串。

    你应该做的是解析包含true的字符串。 最快的方法可能是这样的:

    function parseBool(input) {
      if (input == "true") { return true; }
      else if (input == "false") { return false; }
      else return null; // or false, or throw exception, or whatever
    }
    
    链接地址: http://www.djcxy.com/p/75073.html

    上一篇: remove double quotes from string using javascript

    下一篇: Cleanest way to convert to boolean