gpt4 book ai didi

java - Contains.(cs) 在 android 中区分大小写

转载 作者:行者123 更新时间:2023-11-29 07:46:42 24 4
gpt4 key购买 nike

我有一个搜索方法写在 onTextChanged 上。这将搜索 Hashmap 的 Arraylist。这里的问题是我只得到大写或小写的搜索结果。

如何通过不区分大小写来解决此问题。

这是我的代码:

public void onTextChanged(CharSequence s, int start, int before, int count)
{
song = 2;
songsList2.clear();

for (HashMap<String, String> map : songsList)
{

if(map.get(KEY_TITLE).contains(s))
{
HashMap<String, String> map2 = new HashMap<String, String>();
// adding each child node to HashMap key => value
map2.put(KEY_ID, map.get(KEY_ID));
map2.put(KEY_TITLE, map.get(KEY_TITLE));
map2.put(KEY_ARTIST, map.get(KEY_ARTIST));
map2.put(KEY_DURATION, map.get(KEY_DURATION));
map2.put(KEY_THUMB_URL, map.get(KEY_THUMB_URL));

songsList2.add(map2);
adapter=new LazyAdapter(CustomizedListView.this, songsList2);
list.setAdapter(adapter);
}
}

adapter.notifyDataSetChanged();

}

谢谢!

最佳答案

是的,contains 方法区分大小写。如果你不想这样,你可以编译一个正则表达式模式并使用它,或者简单地将你搜索的值设为小写然后检查它,就像

if(map.get(KEY_TITLE).toLowerCase().contains(s)...

假设 char 序列大小写相同。

编辑:正如评论中指出的那样,要确保在不假设 char 序列大小写的情况下进行匹配,您必须使用 toLowerCase 将搜索短语强制为相同的大小写> 还有它

if(map.get(KEY_TITLE).toLowerCase().contains(s.toString().toLowerCase())...

关于java - Contains.(cs) 在 android 中区分大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25104535/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com