JavaScript String replaceAll ()

Metoda JavaScript replaceAll () zwraca nowy ciąg znaków ze wszystkimi dopasowaniami wzorca zastąpionymi zamiennikiem.

Składnia replaceAll()to:

 str.replaceAll(pattern, replacement)

Tutaj strjest sznurek.

Parametr replaceAll ()

replaceAll()Sposób odbywa się:

  • pattern - podciąg lub wyrażenie regularne, które ma zostać zastąpione
  • replacement- patternjest zastępowane tym replacement(może to być ciąg znaków lub funkcja)

Wartość zwracana z replaceAll ()

  • replaceAll()Metoda zwraca nowy ciąg, ze wszystkich meczów wzór zastąpiona przez wymianę.

Uwaga: A RegExpbez flagi globalnej („ g ”) spowoduje wyświetlenie TypeError.

Przykład 1: Używanie 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);

Wynik

JavaScript jest niesamowity. JavaScript jest fajny JavaScript jest niesamowity. JavaScript jest fajny.

Zastąp bez uwzględniania wielkich / małych liter

W replaceAll()metodzie rozróżniana jest wielkość liter. Aby wykonać zamianę bez rozróżniania wielkości liter, musisz użyć wyrażenia regularnego z iprzełącznikiem (wyszukiwanie bez rozróżniania wielkości liter).

Przykład 2: Zamiana bez rozróżniania wielkości liter

 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

Wynik

 JS JS

Przykład 3: Przekazywanie funkcji jako zamiennik

Możesz również przekazać funkcję (zamiast ciągu) jako drugi parametr do replaceAll()metody.

 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);

Wynik

 4.3518

Po uruchomieniu tego programu możesz uzyskać inne dane wyjściowe. Dzieje się tak, ponieważ pierwsza cyfra w tekście jest zastępowana losową cyfrą od 0 do 9 .

Zalecana lektura: JavaScript String replace ()

Interesujące artykuły...