Cursos / Informática para Internet / Programação Estruturada / Aula
Muitas vezes queremos verificar se um determinado texto contém uma palavra, ou se inicia ou termina em outra, etc. Além disso, podemos querer saber a posição não de uma palavra, mas de um caractere específico, ou pelo menos se a String contém esse determinado caractere. Vejamos como funciona isso através do seguinte código:
O programa mostrado faz uso da função indexOf(), a qual recebe um caractere como parâmetro e retorna a posição da primeira ocorrência desse caractere no texto representado no exemplo pela variável nome1. Caso o caractere não exista, a função irá retornar o valor -1. Também podemos verificar se existe mais de uma ocorrência. Veja agora como isso pode ser feito através do programa a seguir:
O ProgramaStringPosicaoChar faz uso de duas variáveis, uma chamada “inicio” e outra “posição”. A primeira variável é usada para indicar a partir de qual posição devemos buscar o caractere na String, por isso ela é inicializada com zero, o primeiro índice válido. Já a variável “posição” indica a localização do último caractere ponto encontrado. Ela é inicializada com o retorno da função indexOf(), ou seja, com o índice da primeira ocorrência do caractere procurado. Em seguida, temos um laço onde sua condição verifica se o início é maior ou igual ao tamanho da String (já percorremos toda a String?) ou se o valor da variável “posição” é -1 (o índice encontrado não é válido, então não há mais caractere procurado na String?).
Caso a execução do programa entre no laço, isso quer dizer que a variável “posição” tem um índice válido do caractere procurado. Para encontrar a posição do próximo caractere, vamos procurar a partir do índice da última ocorrência encontrada — mais um (posicao + 1). Por fim, realizamos a busca usando novamente a função indexOf(), só que agora passando como parâmetro não só o caractere procurado, mas também a variável “inicio”, indicando a partir de que posição na String (da esquerda para a direita) a busca deve ser realizada. Um pouquinho mais elaborado, mas funciona!
Versão 5.3 - Todos os Direitos reservados