Android - Listview通过忽略Case来搜索内部文本

时间:2011-01-06 07:55:38

标签: java android

我正在尝试实现“Listview with search”功能,其中我成功使用我们尝试在edittext中输入的单词进行搜索。但我想实现从字符串中搜索内部文本。因为我试图实施:

string.contains(txtSearch.getText().toString())

我也很成功。但是还存在“案例敏感性”的问题,如何通过忽略案例来搜索内部文本?

你可以建议我用 Contains() 做什么来忽略案例?

2 个答案:

答案 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