Foros del Web » Programando para Internet » Javascript »

Remplazar subcadena1 por subcadena2 en cadena

Estas en el tema de Remplazar subcadena1 por subcadena2 en cadena en el foro de Javascript en Foros del Web. ¿Cómo puedo hacer para reemplazar TODAS las ocurrencias de subcadena1 por subcadena2 en una cadena? Ejemplo: Reemplazar "azul" por "verde" en "Mi casa es azul ...
  #1 (permalink)  
Antiguo 06/06/2002, 07:00
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
Remplazar subcadena1 por subcadena2 en cadena

¿Cómo puedo hacer para reemplazar TODAS las ocurrencias de subcadena1 por subcadena2 en una cadena?

Ejemplo:
Reemplazar "azul" por "verde" en "Mi casa es azul y mi coche es azul"
Y que devuelva "Mi casa es verde y mi coche es verde".

He probado:
Código:
cadena = "Mi casa es azul y mi coche es azul"
cadena.replace("azul", "verde");
Pero me ha devuelto:
Mi casa es verde y mi coche es azul

Como le digo que quiero que me remplace todos los "azul" que encuentre y no sólo el primero.

Joe Tawers,
<a href="http://www.ilimit.com/towers">http://www.ilimit.com/towers</a>
  #2 (permalink)  
Antiguo 06/06/2002, 08:00
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Re: Remplazar subcadena1 por subcadena2 en cadena

Hola,

no sé si existe una forma más fácil o adecuada pero esto es lo que saqué:

cadena=&quot;esta casa es azul y mi coche es azul, pero no me gusta el azul, el azul es muy feo el azul&quot;;
cadena2=cadena.split(/ /)
cont=0
for(e=1;e&lt;=cadena2.length;e++)
{if(cadena2[e]==&quot;azul&quot;||cadena2[e]==&quot;azul,&quot;)
{cont++}
}
for(m=0;m&lt;=cont;m++)
{cadena=cadena.replace(&quot;azul&quot;,&quot;verd e&quot;);}
alert(cadena);


Lo puse para que además si en la frase se encuentra alguna coma después de la palabra azul que también la incluya en los cambios.

saludos :)
  #3 (permalink)  
Antiguo 06/06/2002, 08:01
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Re: Remplazar subcadena1 por subcadena2 en cadena

Conste que a mi el azul me gusta
  #4 (permalink)  
Antiguo 06/06/2002, 09:02
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Re: Remplazar subcadena1 por subcadena2 en cadena

:cantar: Ejem:

efectivamente existe una forma más facil y adecuada.

cadena=&quot;esta casa es Azul y mi coche es azul, pero no me gusta el azul, el azul es muy feo el azul&quot;;
cadena=cadena.replace(/azul/g,&quot;verde&quot;);

Y yá.

Si además quisieras que no hiciera distinción entre mayúsculas y minúsculas:

cadena=cadena.replace(/azul/gi,&quot;verde&quot;);
  #5 (permalink)  
Antiguo 10/06/2002, 10:30
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 22 años, 3 meses
Puntos: 17
Re: Remplazar subcadena1 por subcadena2 en cadena

Mucho mejor la última opción :P
Gracias tunait

Joe Tawers,
<a href="http://www.ilimit.com/towers">http://www.ilimit.com/towers</a>
  #6 (permalink)  
Antiguo 04/03/2004, 14:42
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 2 meses
Puntos: 535
Gracias, a mi también me sirvió mucho ;)
__________________
...___...
  #7 (permalink)  
Antiguo 02/05/2005, 17:21
Avatar de sanjo  
Fecha de Ingreso: enero-2005
Mensajes: 404
Antigüedad: 19 años, 3 meses
Puntos: 0
Que Hago Mal

<HTML>
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<script language="JavaScript">
cadena=&quot;esta casa es Azul y mi coche es azul, pero no me gusta el azul, el azul es muy feo el azul&quot;
cadena=cadena.replace(/azul/gi,&quot;verde&quot;)
alert (cadena)
</script>
</body>
</html>
</HTML>
__________________
¿Quiere echarte unas risas y ver cosas espectaculares?
Nomeessentado.com
  #8 (permalink)  
Antiguo 03/05/2005, 02:47
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola sanjo

Este mensaje es muy antiguo y desde entonces ha cambiado el sistema del foro, por eso los códigos no aparecen bien del todo. Tienes que cambiar los &quot; por comillas, lo demás está correcto.

Saludos,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:14.