Reemplazar cadenas en Javascript con replace
Escrito por J.F. el Thursday, 10 de January 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");
Comentarios (15)
Categoria: Javascript
- Añadir este post a
- Del.icio.us -
- Meneame -
- Digg -
- Webeame
Entradas relacionadas
Comentario de Alberto
Realizado el Tuesday, 5 de February 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 Wednesday, 23 de July 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 Thursday, 24 de July 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 Thursday, 24 de July del 2008 a las 0:36
for (x=0; x
Comentario de Samboga
Realizado el Monday, 1 de September 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 Thursday, 11 de September del 2008 a las 10:12
function QuitaBL(cadena)
{
while(cadena.indexOf(” “)!=-1)cadena=cadena.replace(” “,”")
return cadena
}
Comentario de outilaquiiiiii
Realizado el Monday, 8 de December del 2008 a las 20:29
outilaquiiiiii
Comentario de outilaquiiiiii
Realizado el Monday, 8 de December del 2008 a las 20:30
Haz click sobre mi nombre
Comentario de erxico
Realizado el Friday, 9 de January 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 Tuesday, 10 de November 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 Thursday, 25 de March 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 Wednesday, 5 de May 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, ” “);
Comentario de dfernand
Realizado el Wednesday, 29 de June del 2011 a las 19:59
P154 y P155.
Comentario de Angel
Realizado el Tuesday, 23 de August del 2011 a las 14:47
Gracias de mucha ayuda la informacion….
Comentario de Patricio
Realizado el Thursday, 17 de May del 2012 a las 19:09
Excelente ! Como dijo Charlie me fue de maravilla al reemplazar el “%20? (que viene en la url por get) por un espacio: .replace(/%20/g,” “);
Saludos y gracias
