Reemplazar cadenas en Javascript con replace
Escrito por J.F. el Jueves, 10 de Enero del 2008 a las 18:42
Vamos con un tema sencillito de Javascript, reemplazar una misma cadena en todo el texto. No soy un avanzado experto en Javascript, por lo que de vez en cuando aprendo alguna cosilla nueva en el trabajo, y si a mí me es de utilidad pienso que a otros también les puede servir.
En ésta ocasión necesitaba reemplazar en una cadena varias veces un mismo texto. Recurrí a la función replace, pero me dí cuenta que utilizándola de la forma normal tan solo reemplaza la cadena que queremos en su primera aparición. Por tanto si queremos cambiar varias veces la palabra perro por gato en una variable, no bastaría con hacerlo de la siguiente forma:
-
cadena.replace("perro", "gato");
Para que se reemplace en todo el texto tan solo deberemos utilizar la siguiente expresión regular: .replace(/loquequeramos/g, "gato");
Por tanto finalmente resolvemos facilmente el problema de la siguiente forma:
-
cadena.replace(/perro/g, "gato");
Categoria: Javascript
- Añadir este post a
- Del.icio.us -
- Meneame -
- Digg -
- Webeame
Entradas relacionadas
Comentario de Alberto
Realizado el Martes, 5 de Febrero del 2008 a las 13:13
Yo tengo estos dos casos:
denom.replace(/./g,”. “);
denom.replace(/,/g,”, “);
y no me funciona en ninguno de los dos si alguien me podria ayudar se lo agradeceria mucho, probablemente este haciendo algo mal…
Comentario de IFLR
Realizado el Miércoles, 23 de Julio del 2008 a las 23:47
intentalo con ‘\\.’ por que en ocaciones no reconoce el punto ni la coma entre otros simbolos, eso es un detalle que me ocurrio en Java, espero que aplique para JS, espero te sirva, salu2, exitos y bye
Comentario de IFLR
Realizado el Jueves, 24 de Julio del 2008 a las 0:36
mira es mas tengouna funcion que te puede hacer eso, pero lo hace con numeros, es para el manejo de moneda:function sumavalor()
{
var campo1=”",campo2=”";
var x=0, total;
var cad1=”", cad2=”";
cad1=document.form1.valorcontrato.value;
cad2=document.form1.adicioncontrato.value;
alert(’longitud valor contrato: ‘+cad1);
for (x=0; x
Comentario de IFLR
Realizado el Jueves, 24 de Julio del 2008 a las 0:36
for (x=0; x
Comentario de Samboga
Realizado el Lunes, 1 de Septiembre del 2008 a las 4:19
Deseo reemplazar el ‘\’ por el ‘/’ pero el \ javascript no me lo reconoce y manda un error. Lo que deseo es filtrar el nombre la la imagen con su extension de la ruta:
C:\Documents and Settings\Sr.Ivan\Mis documentos\Mis imágenes\2007_06_08\Fiesta_4.jpg
Solo deseo “Fiesta_4.jpg” para almacenarla en la base de datos
¿ Como lo hago ——– auxilio por favor?
Comentario de Zeneke_log
Realizado el Jueves, 11 de Septiembre del 2008 a las 10:12
function QuitaBL(cadena)
{
while(cadena.indexOf(” “)!=-1)cadena=cadena.replace(” “,”")
return cadena
}
Comentario de outilaquiiiiii
Realizado el Lunes, 8 de Diciembre del 2008 a las 20:29
outilaquiiiiii
Comentario de outilaquiiiiii
Realizado el Lunes, 8 de Diciembre del 2008 a las 20:30
Haz click sobre mi nombre ![]()
Comentario de erxico
Realizado el Viernes, 9 de Enero del 2009 a las 13:11
Y si en vez de sustituir texto directamente quisiera sustituirlo en una variable? me explico
var animalPerro = ‘perro’ y var animalGato = ‘gato’
He probado con cadena.replace(/animalPerro/g, animalGato); y no ha funcionado, y quisiera hacerlo con variables, como lo podria hacer?
Comentario de dayli
Realizado el Martes, 10 de Noviembre del 2009 a las 22:58
deseo sustituir la cadena “2009:12:20 45:45:45.777-89:00″
por “2009:12:20 45:45:45″
no logro hacerlo
Comentario de Jose Manuel
Realizado el Jueves, 25 de Marzo del 2010 a las 1:10
Y si en vez de sustituir texto directamente quisiera sustituirlo en una variable? me explico
var animalPerro = ‘perro’ y var animalGato = ‘gato’
He probado con cadena.replace(/animalPerro/g, animalGato); y no ha funcionado, y quisiera hacerlo con variables, como lo podria hacer?
ya trataste algo como esto?
var animalPerro = ‘/perro/g’ y var animalGato = ‘gato’
cadena.replace(animalPerro , animalGato);
Comentario de charlie
Realizado el Miércoles, 5 de Mayo del 2010 a las 6:35
Excelente!
Me fue de bastante ayuda, rapidamente logre solucionar el problema, lo que queria era reemplazar el “%20″ que aparece en los links por el espacio.
nomape = nomape.replace(/%20/g, ” “);

