JavaScript » Función Replace en JavaScript
La función replace de JavaScript nos permite realizar sustituciones dentro de cadenas de texto de grupos de caracteres. La sintaxis de la función replace en JavaScript es la siguiente:
Cadena.replace(CadenaABuscar,NuevaCadena)
Así, podríamos realizar la siguiente sustitución:
var frase = "Son tres mil trescientos treinta y tres con nueve"; frase = frase.replace("tres","dos"); alert(frase);
En este caso, la primera coincidencia se sustituye dentro de la cadena. Es decir, la frase "Son tres mil trescientos treinta y tres con nueve" quedaría como "Son dos mil trescientos treinta y tres con nueve".
Para poder realizar sustituciones más complejas hay que indicar que la función replace en JavaScript admite que el parámetro CadenaABuscar sea una expresión regular.
De esta forma podríamos tener la siguiente sustitución:
var frase = "Son tres mil trescientos treinta y tres con nueve"; frase3 = frase.replace(/[aiou]/gi,'e'); alert(frase3);
Lo que estamos diciendo con la expresión regular es que cualquier carácter del conjunto a, i, o y u, sea sustituido por el carácter 'e'. Nos devolvería "Sen tres mel tresceentes treente y tres cen neeve"
Además, detrás de la expresión regular estamos utilizando un modificador. En este caso gi. Esto significa que la búsqueda es global, es decir, busca todas las coincidencias que puedan existir a lo largo de toda la cadena (modificador g) y que no es sensible a mayúsculas (modificador i).
Por lo tanto, si volvamos a nuestro primer ejemplo y lo que queremos es que se sustituyan todos los 'tres' por 'dos', deberíamos de utilizar el siguiente código:
var frase = "Son tres mil trescientos treinta y tres con nueve"; frase4 = frase.replace(/dos/gi,'nueve'); alert(frase4);
Espero que el ejemplo sea de utilidad...
El anterior contenido de este post se ha desplazado a Implementarnos la función replace de JavaScript Puedes ver la Desambiguación sobre la función replace de JavaScript.
![]() Descargar el código |
![]() Error en el código |
![]() Foro sobre JavaScript |
Artículos relacionados:









Junio 6, 2008 #
Muy interesante el articulo
http://www.amanra.com
Junio 26, 2008 #
Muy rápida la solución.
Julio 22, 2008 #
hola…soy nuevo aqui…estuve viendo el articulo y lo encontre bastante practico…
necesito saber su opinion o sugerencias al respecto de lo siguiente…
Estoy haciendo un codigo en javascript que me capture la url completa y al hacer esto asignarle el valor a una variable y a esta variable hacerle un replace…no se si lo que estoy haciendo esta bien…las sugerencias y comentarios son bienvenidos…
function ReemplazarUrl()
{
var urlCompleta = location.href;
urlCompleta = replace(urlCompleta,”‘”,”””);
urlCompleta = replace(urlCompleta,”select”,”");
urlCompleta = replace(urlCompleta,”drop”,”");
urlCompleta = replace(urlCompleta,”;”,”");
urlCompleta = replace(urlCompleta,”–”,”");
urlCompleta = replace(urlCompleta,”/*”,”");
urlCompleta = replace(urlCompleta,”*/”,”");
urlCompleta = replace(urlCompleta,”insert”,”");
urlCompleta = replace(urlCompleta,”update”,”"),
urlCompleta = replace(urlCompleta,”delete”,”");
urlCompleta = replace(urlCompleta,”xp_”,”");
return urlCompleta;
}
con location.href supuestamente deberia capturar la url dentro de la variable urlCompleta.
Diciembre 8, 2008 #
iros a tomar vientos
Diciembre 16, 2008 #
Miren realice una funcion que remplaza todos los caracteres pero sin expresiones regularas(no le pego mucho a las expresiones regulares).
esta en http://vhspiceros.blogspot.com/2008/12/replace-all-en-javascript.html
de todas formas dejo la funcion aqui.
function replaceAll( text, busca, reemplaza ){
while (text.toString().indexOf(busca) != -1){
text = text.toString().replace(busca,reemplaza);
}
return text;
}
Enero 24, 2009 #
Tengo una cadena, de la cual quiero eliminar los parentesis (son 4 apriciones, 2 de apertura y 2 de cirre)
como es poco lo hago asi:
ruta = ruta.replace(‘\(‘, ”);
ruta = ruta.replace(‘\)’, ”);
ruta = ruta.replace(‘\(‘, ”);
ruta = ruta.replace(‘\)’, ”);
Queria saber si esto se puede hacer llamando a la funcion 1 vez en vez de 4.
Gracias.
Enero 26, 2009 #
@Rodri,
Hola, podrías hacerlo en una sola sentencia de la siguiente forma:
String cadena = “((texto))”;
cadena = cadena.replace(“(“,”").replace(“)”,”");
System.out.println(cadena);
Pero tienes que llamar a replace 2 veces.
Espero que te sea de ayuda.
Enero 27, 2009 #
Gracias solo preguntaba, porque si no me equivoco los parentesis no los trata como caracteres “comunes”.
Y tenia mi duda. Despues lo pruebo y te comento.
Es que uso varias apis, y demas cosas de terceros, y para que funcione nececito eliminar los parentesis, ya que si lo hago sobre la misma variable, no lo toma. De esta forma funciona de 10. Osea en vez de remplazar el valor devuelto, armo la cadena, y le quito todos los parentesis al final. Comento esto porque en muchas apis, tenes este problema.
Es la forma que enconte yo de solucionarlo y creo que es bastante prolijo, flexible, limpio, fasil, etc, etc, etc.
Enero 27, 2009 #
Hace poquito, casi nada, que empiezo a programar en JavaScript, para mas que una tonteria predefinifda.
Enero 28, 2009 #
@Rodri,
Olvida el anterior comentario del hilo. Y es que te dí la solución con Java en vez de con JavaScript. Para poder hacer el replace con JavaScript con multiples sustituciones tienes que hacerlo de la siguiente forma:
texto = texto.replace(/\(/g,”").replace(/\)/g,”");
Lo que estamos haciendo es buscar un patrón, de ahí la estructura /patrón/
Al querer buscar el paréntesis que es un carácter especial hay que escaparlo anteponiéndolo la barra \.
Y por último le añadimos la g detrás del patrón para que realice una búsqueda de esta ocurrencia por todo el texto.
Espero que te sirva de ayuda.