Como verificar se uma string contém um determinado texto?

A verificação de texto dentro de uma string em Java pode ser feita utilizando os métodos contains(), matches() e expressões regulares para buscas mais avançadas.

Como verificar se uma string contém um determinado texto?

Verificar se uma string contém um determinado texto é uma operação comum em Java. Isso pode ser feito de diferentes maneiras, dependendo do nível de precisão necessário.

1. Usando contains()

O método contains() verifica se um trecho específico está presente dentro da string.

public class TesteContains {
    public static void main(String[] args) {
        String frase = "Java é uma linguagem poderosa";
        boolean contem = frase.contains("linguagem");
        System.out.println("Contém 'linguagem'? " + contem);
    }
}

Saída esperada:

Contém 'linguagem'? true

O método contains() é case-sensitive, ou seja, diferencia letras maiúsculas e minúsculas.

2. Usando matches() com Expressões Regulares

Se precisar de uma busca mais avançada, o método matches() pode ser utilizado com expressões regulares.

public class TesteMatches {
    public static void main(String[] args) {
        String frase = "Aprender Java é essencial";
        boolean contem = frase.matches(".*Java.*");
        System.out.println("Contém 'Java'? " + contem);
    }
}

Saída esperada:

Contém 'Java'? true

O padrão .*Java.* significa qualquer sequência de caracteres antes e depois de 'Java'.

3. Ignorando Maiúsculas e Minúsculas

Para verificar sem considerar letras maiúsculas e minúsculas, podemos usar toLowerCase().

public class TesteIgnoreCase {
    public static void main(String[] args) {
        String frase = "Bem-vindo ao mundo Java!";
        boolean contem = frase.toLowerCase().contains("java");
        System.out.println("Contém 'java'? " + contem);
    }
}

Saída esperada:

Contém 'java'? true

4. Usando indexOf()

O método indexOf() retorna a posição de um trecho dentro da string, ou -1 caso não encontre.

public class TesteIndexOf {
    public static void main(String[] args) {
        String texto = "Curso de Programação Java";
        boolean contem = texto.indexOf("Java") != -1;
        System.out.println("Contém 'Java'? " + contem);
    }
}

5. Quando Usar Cada Método?

  • contains() → Para verificar se uma string contém um trecho específico.
  • matches() → Para buscas mais avançadas com expressões regulares.
  • indexOf() → Para saber a posição do texto dentro da string.
  • Combinar toLowerCase() → Para buscas sem diferenciar maiúsculas e minúsculas.

Conclusão

A verificação de texto dentro de strings é uma operação essencial em Java. Para buscas simples, contains() é a opção mais eficiente. Caso precise de maior controle, expressões regulares e matches() são ferramentas poderosas.

A verificação de texto dentro de strings é amplamente utilizada em aplicações reais. Sistemas de busca, filtros de conteúdo e validação de entradas frequentemente precisam determinar se um determinado termo está presente dentro de um texto. Frameworks como Spring e bibliotecas de análise de texto utilizam métodos como contains() e matches() para processar grandes volumes de dados de maneira eficiente.

Algumas aplicações:

  • Filtragem de palavras em buscas
  • Validação de campos de formulários
  • Processamento de logs e textos grandes
  • Implementação de filtros de spam

Dicas para quem está começando

  • Use contains() para verificações simples
  • Utilize matches() se precisar de expressões regulares
  • Combine toLowerCase() para ignorar diferenciação entre maiúsculas e minúsculas
  • Evite usar matches() para buscas simples, pois pode ser menos eficiente
  • Teste diferentes métodos para entender qual é mais adequado para cada caso

Contribuições de Rodrigo Farias

Compartilhe este tutorial: Como verificar se uma string contém um determinado texto

Compartilhe este tutorial

Continue aprendendo:

Como substituir caracteres dentro de uma string em Java

A substituição de caracteres e palavras em uma string em Java pode ser feita com os métodos replace() e replaceAll(), além do uso de expressões regulares para casos mais complexos.

Tutorial anterior

Como transformar uma string em um array de caracteres

A conversão de uma string para um array de caracteres em Java pode ser feita com toCharArray(), split() e técnicas de manipulação de texto para facilitar o processamento.

Próximo tutorial