RE:TRATAMIENTO DE CADENAS
Te envío dos funciones que hacen lo que tu quieres, una de forma recursiva y otra usando
expresiones regulares.
Usando expresiones regulares:
function reemplazar(cadena,quitar,poner){
// USO: En el parámetro cadena, sustituye
// toda ocurrencia del parámetro quitar por
// el parámetro poner. Devuelve la cadena
// resultante de la sustitución.
if (cadena == "" || quitar == "") return cadena;
var expReg = eval("/" + quitar + "/g");
return cadena.replace(expReg,poner);
}
Usando recursividad:
function sustituir(cadena,quitar,poner){
// USO: En el parámetro cadena, sustituye toda
// ocurrencia del parámetro quitar
// por el parámetro poner. Devuelve la cadena
// resultante de la sustitución.
var resultado = "";
if (cadena == "" || quitar == ""){
return cadena; // No hay nada que sustituir.
}else{
var posicion = cadena.indexOf(quitar);
if (posicion == -1){
return cadena;
}else{
var longquitar = quitar.length;
var resto = cadena.substring(posicion +
longquitar);
resultado = cadena.substring(0,posicion) +
poner + sustituir(resto,quitar,poner);
return resultado;
}
}
}