我如何获得java的containsignorecase?

时间:2013-09-10 18:42:32

标签: android

我正在尝试使用包含与搜索符号重合的字符串。但是,似乎包含没有像equals那样的忽略情况。有什么方法可以绕过吗?

以下代码行是我使用相同的代码(我听说过模式,但在我的情况下如何使用相同的代码?)

searchSymbol.contains(mSearchView.getText().toString()

谢谢! 贾斯汀

1 个答案:

答案 0 :(得分:5)

您可以将它们转换为小写并正常使用contains()

searchSymbol.toLowerCase().contains(mSearchView.getText().toString().toLowerCase())

如果你想让它保持干净,你可以编写自己的函数来执行此操作:

public static boolean containsIgnoreCase(String haystack, String needle){
    return haystack.toLowerCase().contains(needle.toLowerCase());
}

您可以使用StringUtils中的功能:

org.apache.commons.lang3.StringUtils.containsIgnoreCase("testString", "stSt");

无论如何,你会想要留意unicode角色。在大多数情况下,他们不遵守“案件”的正常规则。