Replace ignorando acentos

3 respostas
Algebra

Algum perito em manipulação de string pode me dar uma sugestão de como desenvolver um replace que ignora acentos, por exemplo:

String s1 = “qual é a sua canção favorita”

s1 = s1.replace(“cancao”, “musica”) // canção e música sem acentos

resultado s1 = “qual é a sua musica favorita”; // porém é que trata-se de um verbo deve permanecer com acento.

não adianta questionar quanto a aplicação é um projeto ciêntifico que tem que funcionar exatamente como o acima.

desde já agradeço.

3 Respostas

rodrigo.bossini

A classe Collator da API padrão provavelmente te ajudará.

G

jah tentou usar o replaceAll?

string = string.replaceAll(ã,a);

string = string.replaceAll(ê,e);

string = string.replaceAll(ç,c);


E

No seu caso em particular, você pode:
a) Pegar a frase
b) Dividi-la em palavras
c) Separar o radical de cada palavra, se for necessário
d) Comparar usando o Collator que lhe foi indicado.

Procure aqui no GUJ um exemplo onde alguém usa um Collator para efetuar uma ordenação que não leva em conta os acentos.

Criado 2 de fevereiro de 2010
Ultima resposta 2 de fev. de 2010
Respostas 3
Participantes 4