
Nós da equipe #flashFrameLess, estamos desenvolvendo nosso primeiro projeto Flash/Arduino, neste projeto estamos utilizando um display digital de 16x2 que não suporta acentos, por isso acabamos escrevendo um método onde os caracteres são retirados da string, antes de ser enviado para a Arduino, achei por bem compartilhar isso com vocês, já que é uma coisa bem útil e pelo que vi, muita gente anda procurando. Para quem não sabe oque é RegEx, vale uma olhada rápida aqui.
Vamos aos codes:
Primeiro criamos um Array, para guardarmos os nossos patterns e o seu respectivo caracter de substituição:
var arrPatterns:Array = new Array();
Logo em seguida abastecemos o array com um objeto contendo o pattern e o caractere
arrPatterns.push( { pattern:/[äáàâãª]/g, char:'a' } );
arrPatterns.push( { pattern:/[ÄÁÀÂÃ]/g, char:'A' } );
arrPatterns.push( { pattern:/[ëéèê]/g, char:'e' } );
arrPatterns.push( { pattern:/[ËÉÈÊ]/g, char:'E' } );
arrPatterns.push( { pattern:/[íîïì]/g, char:'i' } );
arrPatterns.push( { pattern:/[ÍÎÏÌ]/g, char:'I' } );
arrPatterns.push( { pattern:/[öóòôõº]/g, char:'o' } );
arrPatterns.push( { pattern:/[ÖÓÒÔÕ]/g, char:'O' } );
arrPatterns.push( { pattern:/[üúùû]/g, char:'u' } );
arrPatterns.push( { pattern:/[ÜÚÙÛ]/g, char:'U' } );
arrPatterns.push( { pattern:/[ç]/g, char:'c' } );
arrPatterns.push( { pattern:/[Ç]/g, char:'C' } );
arrPatterns.push( { pattern:/[ñ]/g, char:'n' } );
arrPatterns.push( { pattern:/[Ñ]/g, char:'N' } );
Criamos o método de acesso
function removeAccents( str:String ):String{
for( var i:uint = 0; i < arrPatterns.length; i++ ){
str = str.replace( arrPatterns[i].pattern, arrPatterns[i].char );
}
return str;
}
E por ultimo, é só usar!! :-)
var strTeste:String = 'Éstá Frásé têm tódàs vôgáîs ácêñtûãdás';
trace( strTeste );
trace( removeAccents( strTeste ) ); //Esta Frase tem todas vogais acentuadas
Fim!!! Espero que seja útil! []s galera!
Aproveito para indicar um ótimo livro de RegEx: Expressões Regulares – Uma Abordagem Divertida!

Del.icio.us 

4 comentários:
É isso ai Fabão! Já tive que remover acentos em AS3, procurei um script pronto pra isso é foi meio difícil encontrar, agora procurando por "as3 removendo acentos" o FlashFrameless vem em primeiro lugar com a solução!
VLW
muito legal seu trabalho, obrigado por compartilhar conosco, estou tentando converter em as2. Voce pode me dar uma dica?
muito bom. Parabéns, e obrigado por compartilhar seus Conhecimentos.
Ola, eu tenho uma busca com input text, nele o cliente coloca o "ç"
e eu queria que ele trocase pelo "c"
justamente como diz aqui, mas não estou conseguindo usar ele.
pelo output ele funciona, exatamente igual, mas como eu posso colocar ele em pratica em um input text? em tempo de execução, assim que pressionar "ç" troque para "c"?
possivel?
Postar um comentário