24 мая 2012 г., 17:23 от Reyjohn

Как искать во всей строке конкретное слово?

У меня есть этот код, который ищет строковый массив и возвращает результат, если входная строка соответствует 1-м символам строки:

for (int i = 0; i < countryCode.length; i++) {
            if (textlength <= countryCode[i].length()) {
                if (etsearch
                        .getText()
                        .toString()
                        .equalsIgnoreCase(
                                (String) countryCode[i].subSequence(0,
                                        textlength))) {
                    text_sort.add(countryCode[i]);
                    image_sort.add(flag[i]);
                    condition_sort.add(condition[i]);
                }
            }
        }

Но я хочу получить эту строку также там, где входная строка совпадает не только в первых символах, но и в любом месте строки? Как это сделать?

Ответы на вопрос (0)

31 мар. 2015 г., 10:18 от Mr. Morris

чтобы ответить в комментариях, но в принятом ответе есть ошибка. indexOf () возвращает -1, когда не может найти подстроку, поэтому должно быть:

    b = string.indexOf("I am") >= 0; 
24 мая 2012 г., 14:26 от compuguru
24 мая 2012 г., 14:26 от MrEngineer13

Попробуй это

etsearch.getText().toString().contains((String) countryCode[i]);
24 мая 2012 г., 14:43 от GingerHead

Используйте следующее

public boolean contains (CharSequence cs)

Since: API Уровень 1

Определяет, содержит ли эта строка последовательность символов в переданной CharSequence.

Parameters

cs последовательность символов для поиска.

Returns

правд если последовательность символов содержится в этой строке, иначеложны

24 мая 2012 г., 14:33 от ρяσѕρєя K

String string = "Test, I am Adam";
// Anywhere in string
b = string.indexOf("I am") > 0;         // true if contains 

// Anywhere in string
b = string.matches("(?i).*i am.*");     // true if contains but ignore case

// Anywhere in string
b = string.contains("AA")  ;             // true if contains but ignore case
24 мая 2012 г., 14:42 от jsun1973

Вы могли бы использовать содержит. Как в

myString.contains("xxx");

Смотрите также:http: //docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.htm, в частности, содержит область.

ВАШ ОТВЕТ НА ВОПРОС