El método String replace()

📅 18/01/2025

Main Image

Descubra todo sobre el método replace() de JavaScript de una cadena

Encuentra la primera aparición de str1en la cadena actual y la reemplaza con str2.

Devuelve una nueva cadena sin mutar la original.

'JavaScript'.replace('Java', 'Type') //'TypeScript'

Puedes pasar una expresión regular como primer argumento:

'JavaScript'.replace(/Java/, 'Type') //'TypeScript'

replace()solo reemplazará la primera aparición, a menos que utilice una expresión regular como cadena de búsqueda y especifique la /gopción global ( ):

'JavaScript JavaX'.replace(/Java/g, 'Type') //'TypeScript TypeX'

El segundo parámetro puede ser una función. Esta función se invocará cuando se encuentre la coincidencia (o por cada coincidencia encontrada si se utiliza una expresión regular global /g), con una serie de argumentos:

El valor de retorno de la función reemplazará la parte coincidente de la cadena.

Ejemplo:

'JavaScript'.replace(/Java/, (match, index, originalString) = {  console.log(match, index, originalString)  return 'Test'}) //TestScript

Esto también funciona para cadenas regulares, no solo expresiones regulares:

'JavaScript'.replace('Java', (match, index, originalString) = {  console.log(match, index, originalString)  return 'Test'}) //TestScript

En caso de que su expresión regular tenga grupos de captura , esos valores se pasarán como argumentos justo después del parámetro de coincidencia:

'2015-01-02'.replace(/(?yeard{4})-(?monthd{2})-(?dayd{2})/, (match, year, month, day, index, originalString) = {  console.log(match, year, month, day, index, originalString)  return 'Test'}) //Test

Tips para principiantes de JavaScript




Tal vez te puede interesar:

  1. Introducción a React
  2. Agregar evento de clic a los elementos DOM devueltos desde querySelectorAll
  3. Cómo cambiar el valor de un nodo DOM
  4. Cómo comprobar si un elemento DOM tiene una clase

Derechos de autor
Si cree que algún contenido infringe derechos de autor o propiedad intelectual, contacte en [email protected].


Copyright notice
If you believe any content infringes copyright or intellectual property rights, please contact [email protected].