Zastąpienie wszystkich wystąpień znaków za pomocą replace() w Javascript

Metoda replace() w JS służy do zamiany jednej sekwencji znaków na drugą. Przeszukuje ciąg znaków dla określonej wartości lub wyrażenia regularnego i zwraca nowy łańcuch, w którym szukane wartości są zastąpione.

Thank you for reading this post, don't forget to subscribe!

Przyjmuje dwa argumenty – pierwszy to to czego szukamy, drugi to to co ma być wstawione zamiast pierwszego.

var tekst = "ala ma kota i ala ma psa";
var wynik = tekst.replace("ala", "jasio"); // argument jest ciągiem znaków
// wynik: "jasio ma kota i ala ma psa"
var wynik = tekst.replace(/ala/, "jasio"); // argument jest wyrażeniem regularnym
// wynik: "jasio ma kota i ala ma psa"

Jak można zauważyć w obu przypadkach zamieniło się tylko pierwsze wystąpienie słowa “ala”.

Zastąpienie w łańcuchu wszystkich wystąpień ciągu znaków za pomocą metody replace().

Aby zastąpić wszystkie wystąpienia szukanego ciągu znaku w podanym ciągu, trzeba skorzystać z wyrażenia regularnego i opcji g, czyli:

var tekst = "ala ma kota i ala ma psa";
var wynik = tekst.replace(/ala/g, "jasio"); // argument jest wyrażeniem regularnym
// wynik: "jasio ma kota i jasio ma psa"

Rozpatrzmy jeszcze jeden przypadek:

Zastąpienie wszystkich wystąpień ciągu znaków bez rozróżniania wielkości liter za pomocą metody replace().

Aby zastąpić wszystkie wystąpienia szukanego ciągu znaku w podanym ciągu bez rozróżniania wielkości liter, trzeba skorzystać z wyrażenia regularnego oraz dwóch opcji g i i, czyli:

var tekst = "ala ma kota i Ala ma psa";
var wynik = tekst.replace(/ala/gi, "jasio"); // argument jest wyrażeniem regularnym
// wynik: "jasio ma kota i jasio ma psa"