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 str
jest sznurek.
Parametr replaceAll ()
replaceAll()
Sposób odbywa się:
pattern
- podciąg lub wyrażenie regularne, które ma zostać zastąpionereplacement
-pattern
jest zastępowane tymreplacement
(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 RegExp
bez 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 i
przełą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 ()