String : equalsIgnoreCase() e indexOf()

5 respostas
J

ola! peço desculpa se este tópico ja foi colocado … de qualquer maneira a minha duvida é a seguinte :

eu quero buscar uma string numa linha de texto , para isso uso o indexOf() , mas o problema é que eu vou usar um parametro no método que pode ser diferente daquele que está na linha , ou seja , eu quero procurar “casa” mas no meu fixeiro tenho “cAsa” , visto serem diferentes pelo tamanho dos caracteres o indexof não reconhece.
quem poder ajudar fico desde já agradecido
cumprimentos.

5 Respostas

kaique

Cara, esse seu problema pode ser facilmente resolvido se antes de fazer um indexOf, você chama ou o método toUpperCase() ou o metodo toLowerCase() nas duas Strings. Assim você garante que, se forem a mesma palavra, uma diferença na capitalização das letras não vá furar sua verificação…

[]'s.

J

pois… o problema é que eu n posso fazer a chamada desses métodos nas duas Str visto só ter acesso a uma delas inicialmente , a outra que pode ter ou não caracteres maiusculos e minusculos só estará acessivel depois de usar o indexof. vou tentar explicitar :

recebo o parametro “casa” no método, e no fixeiro .txt tenho “dfstreg erytery cAsa wetert etrert” , tenho de usar indexOf(“casa”) e precisava da posição de “cAsa” para depois substituir por uma 3ª Str , mas visto “casa” !=“cAsa” vai retornar -1

s4nchez

Você não pode simplesmente converter os 2 strings pra upper case e fazer a comparação?

J

não pois eu só tenho acesso a uma string , e com essa string tenho de buscar outra igual(com caracteres up ou down) num fixeiro , para a substituir por outra , uma para procurar e outra para substituir

ViniGodoy

Carregue as linhas desse fixeiro na memória, e então faça a comparação usando o toLowerCase e toUpperCase que o pessoal indicou.

Isso é certamente possível.

Criado 22 de novembro de 2007
Ultima resposta 22 de nov. de 2007
Respostas 5
Participantes 4