Bom galera, tenho um código que remove os caracteres iguais de uma frase, por exemplo:
String - Tesssteee, vira Teste e esse código ficou um tanto quanto feio, pois eu posso ter o tanto de variações forem escritas que ele retorna apenas uma.
Mas eu gostaria de fazer algo que ficasse mais legível e com regex eu acho que é possível de se fazer, porém eu nao tenho ideia de como. Alguém pode me dar uma ajuda?
Problema é que tenho algumas regras para essa remoção de caracteres, por exemplo, caracteres numéricos nao são editados, nem palavras que depois de se fazer o trabalho fique com apenas 3 algarismos. Entenderam?
Alguém tem ideia de como fazer algo legal mas ao mesmo tempo com uma boa performace?
Aqui está o meu código:
String [] enderecoLimpo = endereco.split("\s+");
StringBuilder lista = new StringBuilder(endereco.length()*3);
for(int i=0; i < enderecoLimpo.length; i++){
String buffer = enderecoLimpo[i];
StringBuilder listBuffer = new StringBuilder(buffer.length()*2);
if(buffer.length()>3){
for(int j=0; j<buffer.length(); j++){
if(j != buffer.length()-1){
String char1 = Character.toString(buffer.charAt(j));
String char2 = Character.toString(buffer.charAt(j+1));
if(!(char1.equalsIgnoreCase(char2)) && !char1.matches("[0-9]")){
listBuffer.append(Character.toString(buffer.charAt(j)));
}
}else{
listBuffer.append(Character.toString(buffer.charAt(j)));
}
}
}
if(listBuffer.length()>=3){
lista.append(listBuffer.toString().trim());
}else{
lista.append(buffer);
}
lista.append(" ");
}