El método replaceAll () de JavaScript devuelve una nueva cadena con todas las coincidencias de un patrón reemplazadas por un reemplazo.
La sintaxis de replaceAll()
es:
str.replaceAll(pattern, replacement)
Aquí str
hay una cuerda.
parámetro replaceAll ()
El replaceAll()
método incluye:
pattern
- ya sea una subcadena o una expresión regular que se reemplazaráreplacement
-pattern
se reemplaza por estoreplacement
(puede ser una cadena o una función)
Valor devuelto de replaceAll ()
- El
replaceAll()
método devuelve una nueva cadena, con todas las coincidencias de un patrón reemplazadas por un reemplazo.
Nota: A RegExp
sin el indicador global (" g ") arrojará un TypeError
.
Ejemplo 1: uso de replaceAll ()
const text = "Java is awesome. Java is fun."; // passing a string as the first parameter let pattern = "Java"; let new_text = text.replaceAll(pattern, "JavaScript"); console.log(new_text); // passing a regex as the first parameter pattern = /Java/g; new_text = text.replaceAll(pattern, "JavaScript"); console.log(new_text);
Salida
JavaScript es asombroso. JavaScript es divertido JavaScript es increíble. JavaScript es divertido.
Reemplazar sin considerar mayúsculas / minúsculas
El replaceAll()
método distingue entre mayúsculas y minúsculas. Para realizar el reemplazo que no distingue entre mayúsculas y minúsculas, debe usar una expresión regular con un i
modificador (búsqueda que no distingue entre mayúsculas y minúsculas).
Ejemplo 2: Reemplazo que no distingue entre mayúsculas y minúsculas
const text = "javaSCRIPT JavaScript"; // all occurrences of javascript is replaced let pattern = /javascript/gi; // case-insensitive and global search let new_text = text.replaceAll(pattern, "JS"); console.log(new_text); // JS JS
Salida
JS JS
Ejemplo 3: Función de aprobación como reemplazo
También puede pasar una función (en lugar de una cadena) como segundo parámetro del replaceAll()
método.
const text = "3.1415"; // generate a random digit between 0 and 9 function generateRandomDigit() ( return Math.floor(Math.random() * 10); ) // regex to match a digit const pattern = /d/g; const new_text = text.replaceAll(pattern, generateRandomDigit); console.log(new_text);
Salida
4.3518
Puede obtener una salida diferente cuando ejecuta este programa. Es porque el primer dígito del texto se reemplaza por un dígito aleatorio entre 0 y 9 .
Lectura recomendada: Reemplazo de cadena de JavaScript ()