Olá Thingol gostei dessa logica que me mandou vou até fazer uma junção da classe que eu fiz :
/**
* @author Fnascimento
*
* Classe de normalização de String.
* Remove acentuação, caracteres especiais,
* espaços duplicado, espaços do inicio e fim da string.
*
*/
public class NormalizaString {
public String normalizar(String str) {
/** Troca os caracteres acentuados por não acentuados **/
String[][] caracteresAcento = {
{"Á", "A"}, {"á", "a"},
{"É", "E"}, {"é", "e"},
{"Í", "I"}, {"í", "i"},
{"Ó", "O"}, {"ó", "o"},
{"Ú", "U"}, {"ú", "u"},
{"À", "A"}, {"à", "a"},
{"È", "E"}, {"è", "e"},
{"Ì", "I"}, {"ì", "i"},
{"Ò", "O"}, {"ò", "o"},
{"Ù", "U"}, {"ù", "u"},
{"Â", "A"}, {"â", "a"},
{"Ê", "E"}, {"ê", "e"},
{"Î", "I"}, {"î", "i"},
{"Ô", "O"}, {"ô", "o"},
{"Û", "U"}, {"û", "u"},
{"Ä", "A"}, {"ä", "a"},
{"Ë", "E"}, {"ë", "e"},
{"Ï", "I"}, {"ï", "i"},
{"Ö", "O"}, {"ö", "o"},
{"Ü", "U"}, {"ü", "u"},
{"Ã", "A"}, {"ã", "a"},
{"Õ", "O"}, {"õ", "o"},
{"Ç", "C"}, {"ç", "c"},
};
for (int i = 0; i < caracteresAcento.length; i++) {
str = str.replaceAll(caracteresAcento[i][0], caracteresAcento[i][1]);
}
/** Troca os caracteres especiais da string por "" **/
String[] caracteresEspeciais = {"\\.", ",", "-", ":", "\\(", "\\)", "ª", "\\|", "\\\\", "°"};
for (int i = 0; i < caracteresEspeciais.length; i++) {
str = str.replaceAll(caracteresEspeciais[i], "");
}
/** Troca os espaços no início por "" **/
str = str.replaceAll("^\\s+", "");
/** Troca os espaços no início por "" **/
str = str.replaceAll("\\s+$", "");
/** Troca os espaços duplicados, tabulações e etc por " " **/
str = str.replaceAll("\\s+", " ");
return str;
}
}
Agradeço por ter ajudado.
Agora so continuar implementando o sisteminha
vlw.