Eliminar acentos e caracteres especiais com regex

13/04/2017

185

Como remover acentos e caracteres especias de uma string, exemplo:

de: "Indústria e Comércio de produtos manufaturados & Agregados, poços, fabricados e 1º ..."
para: "INDUSTRIA E COMERCIO DE PRODUTOS MANUFATURADOS E AGREGADOS, POCOS, FABRICADOES E 1"

Pesquisei alguns artigos abaixo mas não funciona:

[url:descricao=Tutorial regular expressions com C#]https://educoutinho.com.br/regular-expression/tutorial-regular-expression/[/url]
[url:descricao=Regex - Remoção de Caracteres Especiais C#]https://pt.stackoverflow.com/questions/25924/regex-remo%C3%A7%C3%A3o-de-caracteres-especiais-c?noredirect=1&lq=1[/url]

Exemplo:

string _textoNAOFormatado = @"Indústria e Comércio de produtos manufaturados & Agregados, poços, fabricados e 1º ...";

public static string RemoveAcentos_BH(string _textoNAOFormatado)
        {
            string ret;
            string pattern = @"(?i)[^0-9a-záéíóúàèìòùâêîôûãõç\\s]";
            string replacement = "";
            Regex rgx = new Regex(pattern);
            ret = rgx.Replace(_textoNAOFormatado, replacement);
            return ret;
        }


O exemplo acima retorna: "Indústria e Comércio de produtos manufaturados Agregados, poços, fabricados e 1";

obs.: Resolvi usar regex pois ouço falar que é mais rápido.
Adriano Cordeiro

Adriano Cordeiro

Responder

Posts

13/04/2017

Angelo Santos

Olá Adriano,

Verifica se a solução em https://pt.stackoverflow.com/questions/2/como-fa%C3%A7o-para-remover-acentos-em-uma-string resolve o seu problema.

Espero que te ajude !
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários,
consulte nossa política de privacidade.

Aceitar