2

我正在尝试将 contains 用于与搜索符号一致的字符串。但是,与 equals 不同,似乎 contains 没有忽略大小写。有什么办法可以绕过吗?

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

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

谢谢!贾斯汀

4

1 回答 1

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 字符。在大多数情况下,他们不遵守“案例”的正常规则。

于 2013-09-10T18:45:31.070 回答