Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
Hubo Robonaught

Limpar String

Recommended Posts

Hubo Robonaught

Daí galera, dessa vez é o seguinte: Eu tenho uma string "suja" e gostaria de limpa-la..

String: ",DOS,ILHÉUS,,,,,,,"

Eu gostaria de tirar as virgulas(,) da string mas sem que o espaço entre "DOS" e "ILHÉUS" fosse tirado.

:wallbash:

Share this post


Link to post
Share on other sites
skin

Usa um replace para substituir as virgulas por espaços.


Our lives begin to end the day we become silent about things that matter - Martin Luther King

Share this post


Link to post
Share on other sites
Hubo Robonaught

eu tentei, mas ele da um erro dizendo que tempArr.replace() não é uma função.

aqui está o codigo, não sei por que o replace não tira as virgulas..

function teste(){
var ENDERECO = "PRAÇA DOS ILHÉUS, Nº142: - APARTAMENTO; 905"
var NUMERO = "";
var NOCOMPLEMENTO ="";
var LOGRADOURO = "";
var endereco = ENDERECO;
var posicao=0;
var escolhido=0;
var i=0;
var j=0;
var temp="";
var tempNum = 0;
var tempComp = "";
var Logradouro; 
var Numero;
var Complemento;
Logradouro = { "RUA":true ,"ROD":true,"R.":true,"AL":true,"ALAMEDA":true,"RODOVIA":true,
"PRAÇA":true,"ESTRADA":true,"CHACARA":true,"VIADUTO":true,"VALE":true,"VIA":true,"PARQUE":true,"VILA":true,"PONTE":true };
Numero = {"N":true , "NUMERO":true , "NUM":true , "NO":true};
        Complemento = {"AP":true , "APARTAMENTO":true , "LJ":true , "APTO":true , "QD":true };

temp= endereco.replace("-", " ");
temp= temp.replace(".", " ");
temp= temp.replace("º", " ");
temp= temp.replace(":", " ");
temp= temp.replace(";", " ");
temp= temp.replace("°", " ");
temp= temp.replace("_", " ");
temp= temp.replace(",", " ");

alert(temp);

tempArr = temp.split(" ");	
for ( i=0; i < tempArr.length; i++){			
	tmp=tempArr[i];

	//DESCOBRINDO O LOGRADOURO, APARTIR DE UMA LISTA DE LOGRADOUROS
	if( Logradouro[tmp] ){

			tempArr[i] = tempArr[i].replace(tmp,"");
			LOGRADOURO = tmp;

	}

	// DESCOBRINDO NÚMERO
	if( Numero[tmp] ){
		escolhido=1;
		posicao = i;
		tempNum=tempArr[posicao+1];
		if ((tempNum.charAt(0)) == 1||2||3||4||5||6||7||8||9||0){
			tempArr[posicao+1]=tempArr[posicao+1].replace(tempNum, "");
		}
		tempArr[posicao]=tempArr[posicao].replace(tmp, "");
		NUMERO = tempNum;
	}

	//DESCOBRINDO COMPLEMENTO 
	if( Complemento[tmp] ){
		posicao =i;
		tempComp=tempArr.slice(posicao);
		var iComp =0;
		while(iComp < tempComp.length){
			tempArr[posicao]=tempArr[posicao].replace(tempComp[iComp], "");
			iComp=iComp+1;
			posicao=posicao+1;
		}
		NOCOMPLEMENTO = tempComp;
	}
}
        ENDERECO= tempArr.replace(",", " "); //o erro ocorre aqui
        alert("Endereço: \n\n" + ENDERECO);

}


Share this post


Link to post
Share on other sites
Hubo Robonaught

será que as virgulas estão aparecendo por que eu dei um split na string? 🤔

se for, como faço pra que não apareçam?

sds. 

Share this post


Link to post
Share on other sites
djthyrax

if ((tempNum.charAt(0)) == 1||2||3||4||5||6||7||8||9||0){

Isto é válido sequer?


Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Share this post


Link to post
Share on other sites
Hubo Robonaught

e em relação a minha dúvida? alguém sabe como posso fazer pra não aparecer as virgulas? ou então limpá-las no fim? Obrigado.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.