He tenido que recurrir varias veces, usando JavaScript, a sustituir un carácter o conjunto de ellos en una cadena de texto por otro. Cuando el carácter sólo aparece una vez, con el método replace(‘[texto_a_reemplazar]’, ‘[nuevo_texto’) me ha sido suficiente, pero el problema lo encontramos cuando el número de ocurrencias del carácter en la cadena de texto es mayor, ya que el método replace() solo cambia la primera ocurrencia y el método replace all en javascript no existe.

Para ello os traigo una simple línea de código que os puede ahorrar algo de trabajo, ya que con ella os muestro como hacer replace all en javascript. De esta forma conseguimos cambiar todas las ocurrencias de un carácter o conjunto de ellos en una cadena de texto.

¿Cómo hacer un replace all en javascript?

Supongamos que tenemos una cadena de texto con secuencias de números separadas por comas y queremos sustituir todas las comas por un signo de suma, para ello usaríamos:

var texto = "123,456,789";
var nuevoTexto = texto.split(',').join('+');

Con la combinación del método split(‘[caracter_separador]’) y el método join(‘[caracter_union]’) conseguimos simular el funcionamiento del replaceAll de otros lenguajes. Lo que conseguimos usando estos métodos de javascript es lo siguiente:

  1. split(‘[caracter_separador]’). Se divide la cadena de texto en subcadenas suprimiendo el caracter separador que indiquemos. Las subcadenas obtenidas se devuelven en un vector.
  2. join(‘[caracter_union]’). Con este método, concatenamos todos los elementos del array obtenido al realizar el split. Y como podrás imaginar, el caracter de unión es el que se añade entre cada uno de los elementos que unimos.

Como puedes ver, al final estamos consiguiendo reemplazar un caracter por otro en una cadena de texto tantas veces como aparezca este.

Espero que te haya servido de ayuda esta entrada para hacer replace all en javascript. Si es así te agradecería un comentario o un compartir.