android - 如何获取 java 的 containsignorecase ?

标签 android

我尝试使用 contains 来表示与搜索符号一致的字符串。然而,与 equals 不同, contains 似乎没有忽略大小写。有什么办法可以绕过去吗?

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

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

谢谢! 贾斯汀

最佳答案

您可以将它们都转换为小写并正常使用 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 字符。在大多数情况下,他们不遵守“案例”的正常规则。

关于android - 如何获取 java 的 containsignorecase ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18726558/

相关文章:

php - 将值插入 mysql 时获取 <br/>

java - Android getAllCellInfo() 返回 null

java - 扩展 CustomDialog,edittext 始终为空

android - 如何以编程方式强制停止应用程序-Android

android - 是什么导致信号 'SIGILL' ?

android - TabHost 颜色在 Android 版本之间发生了变化

android - 安装发布 apk 后的 2 个应用程序图标,使用 gradle build

android - 使用 Backstack 时 TabLayout ViewPager 未加载

java - 如何从 Adapter 获取 itemList.size() 或 itemList 到 MainActivity

java - Android 为 ArrayList<String> 中的特定单词着色