Если требуется найти слово или подстроку, хорошим решением будет использовать оператор контроля из инструментария регулярных выражений. Он незаменим в случаях, если вам требуется найти что-нибудь, следующее за чем-нибудь еще.
Простой пример
String str = "программируем";
Pattern p = Pattern.compile(".*программ(?=ируем).*");
Matcher m = p.matcher(str);
if(m.matches()){
System.out.println("Нашел!");
}else{
System.out.println("Не нашел!");
}
1. Поиск спереди
В примере выше, если нужно найти "программируем", но не надо искать "программирую", следует использовать следующий паттерн:.*программ(?=ируем).*
?= – поиск спереди на наличие слова/части слова;
?! – поиск спереди на отсутствие слова/части слова.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Вот если бы обширный мануал по регулярным выражениям написали — было бы круто :)