Java

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, 

  1. Na primeira linha dentro do método main, defino uma variável chamada (fraseComAcento ) com uma frase contendo acentuação;
  2. 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 classe Normalizer ;
  3.  Nas ultimas linhas dentro do main, imprimo as informações contidas nas variáveis (fraseComAcento  e  fraseSemAcento );

 

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.

 

Referências:

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *