Dentro del lenguaje JavaScript existe la función replace para realizar la sustitución de cadenas de textos. Podemos ver un ejemplo en «Función Replace en JavaScript».
En este ejemplo vamos a ver como implementarnos la función replace a partir de otras funciones existentes en el lenguaje JavaScript.
Lo primero que haremos será definirnos el interface de la función
function replace(texto,s1,s2);
En esta función reemplazaríamos sobre el texto las cadenas s1 que encontrásemos por las cadenas s2.
Existen diferentes formas de hacer dicha sustitución. Todas ellas nos las tenemos que codificar. En este caso vamos a utilizar dos funciones: .split() y .join().
La primera lo que hace es, a partir de una cadena, crear un array de cadenas. La división la hace a partir del parámetro recibido.
Así, si tenemos el siguiente código:
texto = "Son tres mil trescientos treinta y tres con nueve";
resulado = texto.split("tres");
Lo que obtendremos será un array de la siguiente forma
['Son ',' mil ','cientos treinta y ','con nueve']
Vemos que son 4 cadenas:
- ‘Son ‘
- ‘ mil ‘
- ‘cientos treinta y ‘
- ‘con nueve’
Seguidamente utilizamos el método .join. Este método lo que hace es unir un array de cadenas y entre cada cadena mete el texto que se recibe como parámetro. Así conseguimos hacer la sustitución del texto.
texto =['Son ',' mil ','cientos treinta y ','con nueve'] resultado = texto.join("dos");
El resultado será:
"Son dos mil doscientos treinta y dos con nueve";
La función replace quedará de la siguiente forma:
function replace(texto,s1,s2){ return texto.split(s1).join(s2); }