Usuário com melhor resposta
Remover acentuação

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.
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();
} -
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
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();
} -
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 -
-
-
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
-
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
-
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
-
-
-
-
-
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
-
-
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.aspxSe funcionasse o link né?