Métodos indexOf e lastIndexOf – Busca de caracteres em Strings em Java

Buscar caracteres em Strings em Java com os métodos indexOf e lastIndexOf

Uma tarefa muito comum e importante que realizamos com frequência em uma aplicação é a busca de caracteres em strings. Essa funcionalidade é muito útil, por exemplo, para verificar se um determinado texto ou trecho de texto está presente em um arquivo ou ainda para localizar arquivos em uma lista de arquivos e pastas.

Em Java temos disponíveis para a classe String os métodos indexOf e lastIndexOf, que nos permitem realizar tarefas desta natureza.

  • Método indexOf – Permite localizar a primeira ocorrência de uma sequência de caracteres em uma string. Retorna o número de índice onde se inicia a sequência. Opcionalmente, podemos acrescentar um segundo argumento especificando a partir de qual posição de índice iniciar a busca dos caracteres. Ao passar o argumento, use aspas simples ao buscar um caractere individual, e aspas duplas ao buscar uma sequência de caracteres.
    Retorna -1 se o caractere não for encontrado.
  • Método lastIndexOf – Permite localizar a última ocorrência de uma sequência de caracteres em uma string. Retorna o número de índice onde se inicia a sequência. Este método faz a procura de caracteres do final para o início da string. Retorna -1 se o caractere não for encontrado.
    Idem ao anterior com relação às aspas simples e duplas.

Exemplos

Vejamos alguns exemplos do emprego desses dois métodos em Java.

String palavra = "Curso de Java da Bóson Treinamentos em Tecnologia";
// Usar indexOf para localizar uma letra na string
System.out.printf("A letra \"B\" está localizada na posição de índice %d\n", palavra.indexOf('B'));
System.out.printf("A letra \"Q\" está localizada na posição de índice %d\n", palavra.indexOf('Q'));

// Usar indexOf para localizar uma letra na string a partir da posição de índice 10:
System.out.printf("A letra \"d\" está localizada na posição de índice %d\n", palavra.indexOf('B',10));

// Usar indexOf para localizar uma substring na string
System.out.printf("A primeira ocorrência de \"so\" está localizada a partir da posição de índice %d\n", palavra.indexOf("so"));
System.out.printf("A palavra \"Java\" está localizada a partir da posição de índice %d\n", palavra.indexOf("Java"));

// Usar lastIndexOf para localizar uma substring na string
System.out.printf("A última ocorrência de \"so\" está localizada a partir da posição de índice %d\n", palavra.lastIndexOf("so"));

Métodos indexOF e lastIndexOF em Java

Note que no caso da busca pelo caractere Q foi retornado o valor -1, que indica que esse caractere não foi encontrado na string.

Na próxima lição veremos como extrair uma substring de uma string informando as posições de índice desejadas.

 

Sobre Fábio dos Reis (1221 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.

Escreva um comentário

Seu e-mail não será divulgado


*