我正在尝试实现“Listview with search”功能,其中我成功使用我们尝试在edittext中输入的单词进行搜索。但我想实现从字符串中搜索内部文本。因为我试图实施:
string.contains(txtSearch.getText().toString())
我也很成功。但是还存在“案例敏感性”的问题,如何通过忽略案例来搜索内部文本?
你可以建议我用 Contains()
做什么来忽略案例?
答案 0 :(得分:5)
您需要暂时将两个“边”转换为大写或小写:
string.toLowerCase().contains(txtSearch.getText().toString().toLowerCase())
答案 1 :(得分:1)
使用正则表达式更快(根据我的经验):
Matcher m = Pattern.compile(Pattern.quote(txtSearch.getText().toString()), Pattern.CASE_INSENSITIVE).matcher("");
// ... for each string:
m.reset(string);
m.find(); // returns true if the text of txtSearch is found inside string