미미 Ashv :
내가 확인하기 위해 노력하고있어 경우 같은 문구 "수제 피자!" "피자"와 같은 문자열을 포함,하지만 난 항상 진실 할, 그것은 피자 나 피자 피자의 문제가되지 않는 경우에! 또는 피자!
나는 코드를 설명 할 것이다 :
recipesFounded
내가 넣어 이유의 그 제목, 설명 등을 포함하는 배열입니다 recipesFounded.get(i).getTitle()
.
문제는 내가 가지고있다 "수제 피자를!" 문자열, 그렇다면 나는 "피자!"검색 그것의 좋은 레시피가 추가되기 때문에 trueOnes
새로운 조리법 목록,하지만 난 피자를 검색하면 (mayus의 P와하지를!) 그렇지 않습니다.
단어가 내가 검색하고자하는 문자열 ( 피자, 피자! ... )
for (int i=0; i < recipesFounded.size(); i++) {
if (recipesFounded.get(i).getTitle().contains(word)) {
trueOnes.add(recipesFounded.get(i));
}
}
WJS :
사용 toLowerCase
방법을String
word = word.replaceAll("[^a-zA-Z]","").toLowerCase(); // keep only letters
당 안드레아스 제안, 변환 단어 반복하기 전에 소문자로. 그것은 더 효율적입니다.
for (int i=0; i < recipesFounded.size(); i++) {
if (recipesFounded.get(i).getTitle().toLowerCase()
.contains(word)) {
trueOnes.add(recipesFounded.get(i));
}
}
때문에 List
구현하는 iterable
인터페이스, 당신은 이런 식으로 할 수 있습니다. 그것은 당신이라는 클래스를 사용하고 있다고 가정Recipe
for (Recipe recipe : recipesFounded) {
if (recipe.getTitle().toLowerCase()
.contains(word)) {
trueOnes.add(recipe);
}
}