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"