Javascript – replace como str_replace

Author: Adrià Cidre  |  Category: PHP

Para reemplazar trozos de una cadena en PHP siempre había utilizado str_replace, que simplemente recorre una cadena y reemplaza el trozo que le decimos por otro distinto.

Ejemplo str_replace:

	$str = str_replace("hola", "adios", "hola que tal")
	echo $str;
	// Mostraría adios que tal

En Javascript tenemos la el método replace() del objeto String que funciona del siguiente modo:

	str = "hola que tal";
	alert(str.replace("hola", "adios"));
	// Mostraría adios que tal

Sin embargo este método escrito así solo funciona reemplazando el primer trozo de cadena que encuentra, tal como se muestra en el siguiente ejemplo:

	str = "hola que tal hola";
	alert(str.replace("hola", "adios"));
	// Mostraría adios que tal hola

Sin embargo mirando la documentación de este método me doy cuenta que es posible imitar el funcionamiento que teníamos en PHP con el str_replace. Se puede hacer de este modo:

	str = "hola que tal hola";
	alert(str.replace(\hola\g, "adios"));
	// Mostraría adios que tal adios

Eso es todo, además si queremos que el reemplazo no sea case-sensitive, podemos hacerlo del siguiente modo:

	str = "hola que tal Hola";
	alert(str.replace(\hola\gi, "adios"));
	// Mostraría adios que tal hola