java - 带双引号的字符串比较

标签 java string

我有以下字符串用于与引号和不带引号进行比较。但这两个字符串具有相同的内容。

    String a="\"john\"";
    String a1="john";
    System.out.println(a+" "+a1);
    if(a.equals(a1)){
        System.out.println("ok");
    }else{
        System.out.println("not ok");
    }

如果我运行上面的程序,我会得到“不正常”。但是除了引号之外,两个字符串都相等。 如何比较字符串中带引号和不带引号的情况?

最佳答案

因为字符串不一样。第一个是约翰,第二个是“约翰”,这是不同的。您需要在比较它们之前删除单引号:

replace("\"", ""); // apply on your Strings

所以它可以是这样的:

if (a.replace("\"", "").equals(a1.replace("\"", ""))) {
       // equal
}

关于java - 带双引号的字符串比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19853457/

相关文章:

java - 夏令时 (CST + CDT) - 添加分钟问题

string - 使用 Matlab Coder 的 C++ 兼容函数将整数转换为字符串

ruby-on-rails - 使用正则表达式检测字符串中的*任何*链接?

java - for 循环的字符替换方法的问题

java - Java 中的向后嵌套 For 循环?

java - 如何引用内部类成员的泛型类型?

c++ - Google Protocol Buffers - 对 encode decode base64 char * c string Protocol Buffer 数据感到困惑

javascript - 如何在Javascript中只保留字符串中的双引号部分?

c++ - 快速 C++ 字符串输出

当类没有数据差异时,Java 实现完全从父类(super class)复制