[Resuelto] Reemplazar Caracteres en una Cadena

Iniciado por Brian1511, 23 Julio 2015, 00:59 AM

0 Miembros y 1 Visitante están viendo este tema.

Brian1511

Bueno mi duda es la siguiente en javascript estoy creando un mod para Minecraft Pocket Edition el caso es que usa lenguaje javascript con la Api de la app que corre los mod.

Quiero reemplazar en una cadena de texto algunas letras y caracteres ejemplo:

[BRIAN|NVL:100]
HP: ---------------
EXP: __________

Uso una funcion que hace lo siguiente:

Código (javascript) [Seleccionar]

function getName(string){
var Listadecaracteres = ["NVL","_","-","1","2","3","0","HP",":","EXP"," "];
for(i=0; i>Listadecaracteres.length; i++){
string = string.replace(Listadecaracteres[i],"");
}
return string;
}


Hasta hay todo bien me reemplaza los caracterez pero solo me reemplaza una - (rayo / barra) o como le llamen solo me elimina 1 y quiero que se eliminen todas.
Ya intete hacerlo con un while y hacerlo por separado es decir que se reemplazen solo las - pero sigue igual.

Alguien que me pueda ayudar Porfa!.

Saludos!



Creador de BrainMind

DarK_FirefoX

#1
¿Eso te corre? ¿No te da error de compilación?




Revisa la variable i en la condición del ciclo.

Tienes puesto i>Listadecaracteres.length, debería ser i<Listadecaracteres.length. De la forma que lo tienes nunca va a entrar al ciclo.




Yo no trabajo mucho con java, pero lo probe en el método main():

Código (java) [Seleccionar]
public static void main(String[] args){
 String sentence = "NVL-h_ey_hey-_";
 String[] list = {"NVL", "_", "-"};
 for (int i=0; i < list.length; i++){
   sentence = sentence.replace(list[i], "");
 }
 System.out.print(sentence);
}


Y lo que imprimió fue:

Citarheyhey

Salu2s

engel lex

la funcion replace de jscript reemplaza una sola vez... yo siempre lo he tomado como bug, ellos lo toman como "característica"

puedes usar esta funcion
Código (javascript) [Seleccionar]
function reemplazar(texto, busqueda, reemplazo){
  while(texto.indexOf(busqueda) != -1){
    texto=texto.replace(busqueda, reemplazo)
  }
  return texto;
}
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Usuario Invitado

Hazlo con el replace que conoces:

Código (javascript) [Seleccionar]
str = str.replace(/-|_/g, '');

Estás diciendo que reemplazarás el caracter - o _ de forma global (/g).
"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein

Brian1511

Cita de: engel lex en 23 Julio 2015, 02:33 AM
la funcion replace de jscript reemplaza una sola vez... yo siempre lo he tomado como bug, ellos lo toman como "característica"

puedes usar esta funcion
Código (javascript) [Seleccionar]
function reemplazar(texto, busqueda, reemplazo){
 while(texto.indexOf(busqueda) != -1){
   texto=texto.replace(busqueda, reemplazo)
 }
 return texto;
}


Muchas gracias engel funciona a la perfeccion te lo agradezco mucho!, al igual que a Dark y a Gus!

Dark: Pasa que escribi esto directo aqui pero en mi code si lo tenia de esa manera! :)



Creador de BrainMind

engel lex

realmente la solucion de gus es mejor que la mia
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.