Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Recommended Posts

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

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

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.