Como remover acentuação no Java
Neste tutorial veremos como remover acentuação de palavras no Java de forma simples utilizando a classe Normalizer.
Introdução
Este tutorial tem como principal objetivo demonstrar como podemos remover acentuação de Strings utilizando o Java.
Em muitas ocasiões durante o desenvolvimento encontramos situações onde precisamos tratar as informações fornecidas pelo usuário antes de inseri-las no banco de dados.
Um bom exemplo é quando a necessidade de retirar a pontuação de alguns palavras seja para comparação ou inserção na base de dados.
Pensando nesta situação implementei este tutorial, onde vou mostrar como é fácil remover acentuação de Strings sem a necessidade de bibliotecas externas, usaremos apenas a classe Normalizer que está presente no pacote java.text fornecido pelo Java.
Requisitos para execução deste tutorial:
- Java 8+;
Removendo acentuação de palavras no Java
Vamos iniciar a implementação do nosso tutorial, antes de tudo devemos importar a classe Normalizer do pacote java.text para isso basta importar a classe como mostrado abaixo:
import java.text.Normalizer;
Após importar a classeNormalizer vamos utilizar a função normalize() da classe Normalizer junto com a função replaceAll(), passando como parâmetro a expressão regular [^\\p{ASCII}], isso removerá todos acentos da frase que foi passada.
Logo abaixo segue o código que implementei neste tutorial, é simples exemplo de como podemos utilizar a classe Normalizer:
package utils;
import java.text.Normalizer;
public class RemoverAcentosNormalizer {
public static void main(String args[]){
String fraseComAcento = "Removendo acentuação com Java";
String fraseSemAcento = Normalizer.normalize(fraseComAcento, Normalizer.Form.NFD)
.replaceAll("[^\\p{ASCII}]", "");
System.out.println("-- Frase com acento --");
System.out.println(fraseComAcento);
System.out.println("-- Frase sem acento --");
System.out.println(fraseSemAcento);
}
}
Uma breve explicação do código acima,
- Na primeira linha dentro do método
main, defino uma variável chamada (fraseComAcento) com uma frase contendo acentuação; - Logo após na segunda linha defino uma variável chamada (
fraseSemAcento) e atribuo a ela o valor de retorno do tratamento realizado com a função (normalize) da classeNormalizer; - Nas ultimas linhas dentro do
main, imprimo as informações contidas nas variáveis (fraseComAcentoefraseSemAcento);
Ao executarmos código acima será gerado na console da ide as informações abaixo:
run:
-- Frase com acento --
Removendo acentuação com Java
-- Frase sem acento --
Removendo acentuacao com Java
CONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)
Este foi simples e rápido tutorial demonstrando como é simples e rápido remover acentuação de uma palavra utilizando o Java, isto é muito útil para tratar as informações que recebemos de inputs antes de salvar a informação em um banco de dados.

