java - 即使字符串包含子字符串,字符串也包含方法返回 false

标签 java string substring equals indexof

我有一个字符串:

20160719_P_BID_20160718_130000

我需要检查这个字符串是否包含子字符串“BID”。我尝试了各种方法,例如:

  1. .contains("BID")/.contains("_BID_")
  2. .indexOf("BID")
  3. .substring(11,14).equals("BID)

但所有方法都返回了 false 即使字符串的输出确实包含字符串 "BID" 并且是字符串 "BID"

更新:

String fileName = file.getFileName();
String tradeTypeStr = fileName.substring(11,14);        
if(tradeTypeStr.equalsIgnoreCase(tradeType))

有人可以阐明为什么这些方法返回 false 吗?

感谢您的帮助!

最佳答案

由于 String.contains() 和 String.indexOf() 绝对有效,这听起来您的编码可能有问题。尝试

    String fileName = file.getName();
    for (char c : fileName.toCharArray())
    {
        System.out.println(c + " : " + Integer.toHexString(c));
    }

如果你没有找到类似的东西

_ : 5f
B : 42
I : 49
D : 44
_ : 5f

你已经找到问题的原因了

关于java - 即使字符串包含子字符串,字符串也包含方法返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38433608/

相关文章:

java - 如何将 ^M 分成单独的行?

string - 删除两个字符串之间的未知字符串

php - 我怎样才能知道标点字符在 UTF 8 中的形式?

powershell - Powershell用序列号替换字符串中的第26个字符

c# 数组的子字符串等价物

php - 如何将字符删除到字符串中?

java - 发送 POST 并读取流响应

java - 将 Map 的条目集表示为类型 T

java - 我尝试过使用 long 作为变量类型以及函数的返回类型,但它仍然溢出。我不明白为什么?

Python 字符串比较似乎不起作用