biellz1221 0 Denunciar post Postado Maio 11, 2009 Alguem sabe como eu faço para ignorar acentos em uma string no AS 3? Compartilhar este post Link para o post Compartilhar em outros sites
Patrique 0 Denunciar post Postado Maio 11, 2009 Iguinorar acentos? para que você quer isso cara? num sei se tem uma função para isso não, mais por que você não usa replace? trocaria as letras acentuadas por leras sem acentos, ou então utilize replace para reconher os acentos e deixar os reconhecidos em branco. Seria mais ou menos assim String.prototype.replace = function(x, y, z) { var $this = this.split(''); if (z == undefined) { z = this.lastIndexOf(x); } for (var i = 0, n = 0; i<$this.length && n<z; i++) { if ($this[i] == x) { $this[i] = y; n++; } } return $this.join(''); }; frase = "Patrique André"; trace(frase.replace("é", "", 2)); Ele me retornaria Patrique Andr, ou seja ele matou o "é" caso eu tivesse colocado trace(frase.replace("é", "e", 2)); ele teria retornado Patrique Andre []'s Compartilhar este post Link para o post Compartilhar em outros sites
biellz1221 0 Denunciar post Postado Maio 11, 2009 Cara, eu postei um otro tópico aqui que a galera fez um favor de ignorar explicando a situação. tipo, eu preciso fazer uma busca por palavra-chave dentro de um banco de dados XML e, essa busca não pode considerar acentos e não pode ser Case Sensitive. Eu já consegui resolver a questão do Case Sensitive e consegui que a busca me retornasse resultados mesmo que eu colocasse apenas uma parte da string a ser buscada. No momento eu estou precisando que deixe de considerar acentos (ainda não testei teu código ai) e que a busca não me retorne as tags quando eu procuro por um atributo. Ela tem que me retornar apenas oq está dentro da tag e separado por linhas quando tiver mais de um resultado. Se tu puder me ajudar ai com alguma dessas últimas questões vai ser cool ;D Vlw ae! ---------------------- EDIT ----------------------------------- Acabei de fazer um teste aqui e tirei uma conclusão. Inseri no XML uma sentença a ser buscada com acento e busquei por ela sem acentos. Não me retornou o campo. A sentença que coloquei foi "Másculino" e quando procurei por "masculino" ele não me retornou. Eu preciso que retorne resultados desse tipo ^^. Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Maio 11, 2009 cria uma função que busca pelos acentos e retira eles da string, o Patrique já deu a logica de como substituir, faz uma busca por isso, mesmo que você ache a função em outras linhagem é só adaptar o código [] Compartilhar este post Link para o post Compartilhar em outros sites
biellz1221 0 Denunciar post Postado Maio 11, 2009 Existe um problema em retirar as letras com acento da sentença. Se eu retiro as letras com acentos da sentença "Másculino" por exemplo, ele vai interpretar como "Msculino" e não vai retornar nada do mesmo jeito. Se os acentos forem ao fim das palavras não há problemas, pq ele vai buscar pela substring correspondente e vai trazer o resultado. Eu já achei uma sentença parecida com oq eu preciso em SQL. O like. Resolveria esse tipo de problemas mas, não consegui adaptar para AS. E quanto ao problema das tags? Ngm sabe nada sobre isso? Flw Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Maio 11, 2009 eu falei errado, eu disse "retira eles da string", mas o certo seria "substitui eles da string" a função lá em cima faz isso, busca o "é" e troca pelo "e" agora é só fazer o mesmo com os outros caracteres, "á" "ã" por "a" e por ai vai []´s Compartilhar este post Link para o post Compartilhar em outros sites
biellz1221 0 Denunciar post Postado Maio 11, 2009 ahh sim, beleza entao. vou tentar. Nada sobre as tags? import flash.events.Event; import flash.net.URLLoader; import flash.net.URLRequest; /********Variáveis***********/ var MyXml:XML; var loader:URLLoader = new URLLoader(); var req:URLRequest = new URLRequest("xml.xml"); loader.load(req); loader.addEventListener(Event.COMPLETE, carregaXML); /**************Funções****************/ //Função carregaXML function carregaXML(event:Event):void{ var loader:URLLoader = event.target as URLLoader; if (loader != null){ MyXml = new XML(loader.data); trace(MyXml.toXMLString()); } }; //Função de Cadastro function funcpress(event:MouseEvent) { var nome:String = txtBox1.text; var autor = txtBox2.text; var sexo = txtBox3.text; var tamanho = txtBox4.text; MyXml.appendChild(<nome tamanho={tamanho}>{nome}</nome>); MyXml.appendChild(<autor sexo={sexo}>{autor}</autor>); }; //Função que mostra o XML completo function showXML(event:MouseEvent) { XMLshow.text = MyXml; }; //Função de Busca function busca(event:MouseEvent){ var termo = txtBusca.text.toLowerCase(); var ---:String = MyXml.livro.(autor.toLowerCase()); if (---.indexOf(termo) > -2){ var res1:String = MyXml.livro.(autor.toLowerCase().indexOf(termo) > -1); resBusca.text = res1; } if (--- == termo) { var res2:String = MyXml.livro.(autor.toLowerCase() == termo); resBusca.text = res2; } }; /*********//***********Botões***********//*********/ btn1.addEventListener(MouseEvent.CLICK, funcpress); btn2.addEventListener(MouseEvent.CLICK, showXML); btnBusca.addEventListener(MouseEvent.CLICK, busca); meu código no momento. <biblioteca> <livro id="1"> <nome tamanho="200 páginas">Anjos e Demônios</nome> <autor sexo="Masculino">Dan Brown</autor> </livro> <livro id="2"> <nome tamanho="200 páginas">Harry Potter</nome> <autor sexo="Feminino">J. K. Rowling</autor> </livro> <livro id="3"> <nome tamanho="300 páginas">A Bússola de Ouro</nome> <autor sexo="Másculino">Phillip Pullman</autor> </livro> </biblioteca> meu XML no momento. Compartilhar este post Link para o post Compartilhar em outros sites
biellz1221 0 Denunciar post Postado Maio 11, 2009 galera, achei um meio de fazer a verificação. o meio é usar uma RegExp e mandar substituir, assim como no código passado pelo patrique. agora surge outro problema: essa condição substitui apenas o primeiro caractere da string. por exemplo: se eu tenho "áááá" ele substitui e me retorna "aááá". estou precisando fazer um loop através da String para que ele só passe adiante se não houver mais ocorrencias de pat (no caso aqui a expressão regular /á/) na string termo (no meu caso o input da caixa de busca). alguma ajuda? a questão das tags ainda está em aberto, não resolvi ainda. Compartilhar este post Link para o post Compartilhar em outros sites