Il metodo JavaScript replaceAll () restituisce una nuova stringa con tutte le corrispondenze di un modello sostituite da una sostituzione.
La sintassi di replaceAll()
è:
str.replaceAll(pattern, replacement)
Ecco str
una stringa.
parametro replaceAll ()
Il replaceAll()
metodo comprende:
pattern
- una sottostringa o un'espressione regolare che deve essere sostituitareplacement
- ilpattern
è sostituito con questoreplacement
(può essere una stringa o una funzione)
Valore restituito da replaceAll ()
- Il
replaceAll()
metodo restituisce una nuova stringa, con tutte le corrispondenze di un modello sostituite da una sostituzione.
Nota: A RegExp
senza il flag globale (" g ") lancerà un TypeError
.
Esempio 1: utilizzo di 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);
Produzione
JavaScript è fantastico. JavaScript è divertente JavaScript è fantastico. JavaScript è divertente.
Sostituisci senza considerare maiuscolo / minuscolo
Il replaceAll()
metodo fa distinzione tra maiuscole e minuscole. Per eseguire la sostituzione senza distinzione tra maiuscole e minuscole, è necessario utilizzare una regex con un'opzione i
(ricerca senza distinzione tra maiuscole e minuscole).
Esempio 2: sostituzione case-insensitive
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
Produzione
JS JS
Esempio 3: funzione di passaggio in sostituzione
È inoltre possibile passare una funzione (invece di una stringa) come secondo parametro al replaceAll()
metodo.
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);
Produzione
4.3518
Potresti ottenere un output diverso quando esegui questo programma. È perché la prima cifra nel testo viene sostituita con una cifra casuale compresa tra 0 e 9 .
Lettura consigliata: sostituzione stringa JavaScript ()