none
Remover acentuação RRS feed

  • Pergunta

  • Pessoal estou fazendo uma integração de um sistema da empresa com o sistema do contador no entando para exportar os dados devo exportar sem acentuação já que o sistema docontador não suporta este recurso, existe alguma maneira pronta de se fazer isso, ou alguém pode me indicar um link ou coisa assim?

    Obrigado.

    quarta-feira, 17 de janeiro de 2007 13:55

Respostas

Todas as Respostas

  • Importe o namespace System.Globalization e tente o código abaixo;

    private string RemoverAcentos(string texto)
    {
        string s = texto.Normalize(NormalizationForm.FormD);

        StringBuilder sb = new StringBuilder();

        for (int k = 0; k < s.Length; k++)
        {
            UnicodeCategory uc = CharUnicodeInfo.GetUnicodeCategory(s[k]);
            if (uc != UnicodeCategory.NonSpacingMark)
            {
                sb.Append(s[k]);
            }
        }
        return sb.ToString();
    }

    quarta-feira, 17 de janeiro de 2007 15:57
  • Carlos,

    Uma opção é usar o código que fiz e postei no meu blog, usando Regular Expressions:

    http://thespoke.net/blogs/fbcjunior/archive/2005/09/28/474998.aspx

    Abraços,
    Francisco
    OK, Computer - http://thespoke.net/blogs/fbcjunior/default.aspx

    quarta-feira, 17 de janeiro de 2007 16:14
    Moderador
  • Amigo onde você achou isso, resolveu meu problema facilmente!

    muito obrigado.

    quarta-feira, 17 de janeiro de 2007 16:14
  • Muito obrigado também funciona legal!
    quarta-feira, 17 de janeiro de 2007 16:26
  • Olá Carlos,

    Uma função bastante simples em C# pode resolver o seu problema, tirando os acentos ao invés de remover os caracteres sem acento.

    public static string GetStringNoAccents(string str)
            {

                /** Troca os caracteres acentuados por não acentuados **/
                string[] acentos = new string[] { "ç", "Ç", "á", "é", "í", "ó", "ú", "ý", "Á", "É", "Í", "Ó", "Ú", "Ý", "à", "è", "ì", "ò", "ù", "À", "È", "Ì", "Ò", "Ù", "ã", "õ", "ñ", "ä", "ë", "ï", "ö", "ü", "ÿ", "Ä", "Ë", "Ï", "Ö", "Ü", "Ã", "Õ", "Ñ", "â", "ê", "î", "ô", "û", "Â", "Ê", "Î", "Ô", "Û" };
                string[] semAcento = new string[] { "c", "C", "a", "e", "i", "o", "u", "y", "A", "E", "I", "O", "U", "Y", "a", "e", "i", "o", "u", "A", "E", "I", "O", "U", "a", "o", "n", "a", "e", "i", "o", "u", "y", "A", "E", "I", "O", "U", "A", "O", "N", "a", "e", "i", "o", "u", "A", "E", "I", "O", "U" };

                for (int i = 0; i < acentos.Length; i++)
                {
                    str = str.Replace(acentos[i], semAcento[i]);
                }

                /** Troca os caracteres especiais da string por "" **/
                string[] caracteresEspeciais = { "\\.", ",", "-", ":", "\\(", "\\)", "ª", "\\|", "\\\\", "°" };

                for (int i = 0; i < caracteresEspeciais.Length; i++)
                {
                    str = str.Replace(caracteresEspeciais[i], "");
                }

                /** Troca os espaços no início por "" **/
                str = str.Replace("^\\s+", "");
                /** Troca os espaços no início por "" **/
                str = str.Replace("\\s+$", "");
                /** Troca os espaços duplicados, tabulações e etc por  " " **/
                str = str.Replace("\\s+", " ");

                return str;

            }

    Abs,

    Widmeyer
    sexta-feira, 12 de fevereiro de 2010 01:21
  • Olá Wild...

     

    O legal do simples é que a gente aprende acaba aprendendo com coisas que aparentemente parece complicado, mesmo sabendo que a performance disso pode muitas vezes deixar a desejar.

    De qualquer forma, muito obrigado pela postagem. Aqui funcionou direitinho.

     

    Att.,

     

    Diogo Miranda

    terça-feira, 20 de abril de 2010 23:15
  • Eu tenho uma função que uso aqui em meu aplicativo de SMS para retirar os acentos e já é nativo:

    HttpUtility.UrlEncode("Pêssego pássaro canção", Encoding.GetEncoding(28597)).Replace("+", " ")

    Dá a saída: Pessego passaro cancao

    Espero que possa ajudar.


    Se for útil marque como tal, se for a resposta, marque-a também. Procure ajudar a quem mais precisa
    • Sugerido como Resposta ARodrigues terça-feira, 31 de agosto de 2010 14:17
    quinta-feira, 22 de abril de 2010 01:23
  • Valeu Ricardo esse post foi muito util mesmo..
    Marcelo Gomes
    quinta-feira, 4 de agosto de 2011 18:13
  • Amigo, funcionou muito bem, thanks!

    sexta-feira, 15 de junho de 2012 12:35
  • Se já é nativo, então melhor ainda!
    sexta-feira, 15 de junho de 2012 12:45
  • Ricardo, pode me dizer onde uso exatamente essa função?

    Estou com esse problema de acentuação, meus sms estão todos dando problema. 

    Obrigadoo!!!

    terça-feira, 5 de novembro de 2013 17:33
  • Não entendi bem.

    No local onde vc captura o texto pra enviar, se foi isso que entendi sobre sua pergunta.


    Abs, Ricardo D. Beck Conectta Softwares http://twitter.com/duartebeck

    • Sugerido como Resposta Dalton A Soares quarta-feira, 6 de novembro de 2013 10:20
    terça-feira, 5 de novembro de 2013 22:46
  • Valeuuu Ricardoo!! Funcionou perfeitamente aqui, abraços!! 
    quarta-feira, 6 de novembro de 2013 10:20
  • Carlos,

    Uma opção é usar o código que fiz e postei no meu blog, usando Regular Expressions:

    http://thespoke.net/blogs/fbcjunior/archive/2005/09/28/474998.aspx

    Abraços,
    Francisco
    OK, Computer - http://thespoke.net/blogs/fbcjunior/default.aspx

    Se funcionasse o link né?

    segunda-feira, 19 de maio de 2014 12:57