Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Brian1511 en 23 Julio 2015, 00:59 am



Título: [Resuelto] Reemplazar Caracteres en una Cadena
Publicado por: Brian1511 en 23 Julio 2015, 00:59 am
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
  1. function getName(string){
  2. var Listadecaracteres = ["NVL","_","-","1","2","3","0","HP",":","EXP"," "];
  3. for(i=0; i>Listadecaracteres.length; i++){
  4. string = string.replace(Listadecaracteres[i],"");
  5. }
  6. return string;
  7. }
  8.  

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!


Título: Re: Reemplazar Caracteres en una Cadena
Publicado por: DarK_FirefoX en 23 Julio 2015, 02:14 am
¿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
  1. public static void main(String[] args){
  2.  String sentence = "NVL-h_ey_hey-_";
  3.  String[] list = {"NVL", "_", "-"};
  4.  for (int i=0; i < list.length; i++){
  5.    sentence = sentence.replace(list[i], "");
  6.  }
  7.  System.out.print(sentence);
  8. }

Y lo que imprimió fue:

Citar
heyhey

Salu2s


Título: Re: Reemplazar Caracteres en una Cadena
Publicado por: 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
  1. function reemplazar(texto, busqueda, reemplazo){
  2.  while(texto.indexOf(busqueda) != -1){
  3.    texto=texto.replace(busqueda, reemplazo)
  4.  }
  5.  return texto;
  6. }


Título: Re: Re: Reemplazar Caracteres en una Cadena
Publicado por: Usuario Invitado en 23 Julio 2015, 02:50 am
Hazlo con el replace que conoces:

Código
  1. str = str.replace(/-|_/g, '');


Estás diciendo que reemplazarás el caracter - o _ de forma global (/g).


Título: Re: Reemplazar Caracteres en una Cadena
Publicado por: Brian1511 en 23 Julio 2015, 03:04 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
  1. function reemplazar(texto, busqueda, reemplazo){
  2.  while(texto.indexOf(busqueda) != -1){
  3.    texto=texto.replace(busqueda, reemplazo)
  4.  }
  5.  return texto;
  6. }

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! :)


Título: Re: Reemplazar Caracteres en una Cadena
Publicado por: engel lex en 23 Julio 2015, 03:11 am
realmente la solucion de gus es mejor que la mia