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:
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!
¿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():
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
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
function reemplazar(texto, busqueda, reemplazo){
while(texto.indexOf(busqueda) != -1){
texto=texto.replace(busqueda, reemplazo)
}
return texto;
}
Hazlo con el replace que conoces:
str = str.replace(/-|_/g, '');
Estás diciendo que reemplazarás el caracter - o _ de forma global (/g).
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
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! :)
realmente la solucion de gus es mejor que la mia