如何使用包含忽略大小写

时间:2019-04-29 11:22:05

标签: java

我有2个字符串,想比较一下忽略大小写。

Ex: 
s1.contains(s2.toLowerCase()) in this case the problem is s1 might be in upper case. 
s1.toLowerCase().contains(s2) in this case the problem is s2  might be in upper case. 

唯一的选择是我需要将两个字符串都更改为小写才能找到包含的内容。

ex: s1.toLowerCase().contains(s2.toLowerCase())

因为String是不可变的,所以是否有任何实用程序或字符串方法,而不是使用此方法。

谢谢。

2 个答案:

答案 0 :(得分:1)

您可以使用apache中的StringUtils。

StringUtils.containsIgnoreCase(str, searchStr)

https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html

答案 1 :(得分:0)

您应该使用s1.toLowerCase().contains(s2.toLowerCase())。任何实用程序方法只会增加不必要的开销和复杂性

  /* commenting the answer, so that the comments don't become irrelevant.

Try using String class method equalsIgnoreCase(),
     and do whatever you want.

          // for example; suppose two strings, with same characters
          String str1 = "jangbahadUr";
          String str2 = "JanGbahadUr";

          if (str1.equalsIgnoreCase(str2)) {
              System.out.println("equal"); // here do your own logic.
          } else {
              System.out.println("not equal");
          }

    */