JavaScript String replaceAll ()

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 struna stringa.

parametro replaceAll ()

Il replaceAll()metodo comprende:

  • pattern - una sottostringa o un'espressione regolare che deve essere sostituita
  • replacement- il patternè sostituito con questo replacement(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 RegExpsenza 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 ()

Articoli interessanti...