【发布时间】:2019-03-15 13:22:36
【问题描述】:
我试着按书名找一本书。
假设存在《丛林》这本书。即使我搜索也想找到它
- “JunGLE”:作品,
- “荣格”:作品,
- “JunG”:不起作用。
希望你能理解。我使用matches 在搜索中添加与该标题匹配的所有书籍。有谁知道如何解决这一问题?
public ArrayList<Book> search(String title){
ArrayList<Book> matches = new ArrayList<>();
for (Book b : Books){
String s = b.getTitle();
if(s.equalsIgnoreCase(title)||s.trim().contains(title))
matches.add(b);
}
return matches;
}
【问题讨论】:
-
包含方法不区分大小写
-
为什么是 Jung 而不是 Jung?
-
基本上将所有内容都转换为大写(或小写)
s.toUpperCase().contains(title.toUpperCase()) -
@azro 你是什么意思? “Jung”是原名,我的意思是,如果我用部分名字搜索,我可以找到这本书,但如果我用部分名字搜索但大写(不是原来的名字)不起作用.
-
@Zuzu 你必须更好地解释(编辑你的帖子),你的意思是必须是(相同的单词 zith 不区分大小写)或(部分单词区分大小写)?