Jak wymienić wszystkie podjeździe w ciągu za pomocą metody zastąpienia?

Jak wymienić wszystkie podjeździe w ciągu za pomocą metody zastąpienia?
Operacje stringowe są jedną z najważniejszych funkcji języka programowania. W dzisiejszych czasach upoważnienie haseł do potwierdzenia prawidłowych adresów e -mail, weryfikacji formatu adresu pocztowego i weryfikacji liczby cyfr w numerze telefonu jest wykonywane za pomocą operacji ciągu.

W JavaScript dostępnych jest wiele metod działania ciągów, każda z własnymi korzyściami użytkowania i determinantami. Jedną z takich metod jest .zastępować() metoda.

Jaka jest metoda zastępcza ()?

Jak wskazała nazwa, .zastępować() zastępuje ciąg lub część łańcucha (podłoże) innym ciągiem.

Składnia .zastępować() Metoda jest dość prosta:

strunowy.zamień (valuetosearchfor, valuetoreplaceWith);

Istnieje wyjątkowy czynnik w .zastępować() metoda i jest obecna w składni. Wyjaśnijmy więc składnię.

  • strunowy: Ciąg, którego podłoże ma zostać zmienione.
  • valuetosearhfor: Podłoże lub regex w celu dopasowania do „ciągów” do.
  • valuetoreplace z: Nowy podłoże, które zastąpi stary.
  • Wartość zwracana: Ciąg ze zmodyfikowanym podłożem.

Przykład

Prosty przykład .zastępować() Metoda byłaby:

string = "Hello World, witamy w Linuxhint";
konsola.log (ciąg);
Newstring = String.Wymień („świat”, „Programiści”);
konsola.log (NewSstring);

To, co tu robimy, to to, że tworzymy zmienną ”strunowy”I nadając mu wartość tekstową, która jest„ Witaj świat, witaj w Linuxhint ”. Chcemy zastąpić „świat” podjazdów „programistami”, dlatego stworzyliśmy nową zmienną i nazwaliśmy ją „Newstring” i przekazaliśmy wartość zwróconą z .zastępować() metoda. Wreszcie mamy konsola.dziennik() Aby wydrukować wartości obu zmiennych.

Wyjście

Jak widzimy, zmienna „NewSstring” ma w sobie zaktualizowany ciąg.

Jak używać Regex w .Metoda zamień ()

Co jeśli chcemy wyszukać wiele instancji tego samego ciągu? Co jeśli nasz ciąg jest taki:

String = "Brown Mat, brązowy stół, brązowy krzesło, brązowy kubek";

I chcemy zastąpić wszystkie „brązowe” podjazd „niebieski”. Spróbujmy przy użyciu metody, której nauczyliśmy się powyżej.

String = "Brown Mat, brązowy stół, brązowy krzesło, brązowy kubek";
Newstring = String.zamień („brązowy”, „niebieski”);
konsola.log (NewSstring);

Wyjście to:

Wyjście to:

Nie tego chcieliśmy. Więc co poszło nie tak? Cóż, nic nie poszło nie tak. Sposób .Metoda Replay () działa to, że znajduje pierwszą instancję podrzędu, zastępuje ją i przestaje wykonywać. Tak więc, jeśli chcemy sprawdzić wiele instancji, musimy użyć Regex z globalną flagą „G”. Dowiedz się więcej o Regex w JavaScript.

Teraz będziemy używać Regex w pierwszym argumencie zastępować() metoda zamiast normalnego podłoża, na przykład:

String = "Brown Mat, brązowy stół, brązowy krzesło, brązowy kubek";
Newstring = String.zamień (/brąz/g, „niebieski”);
konsola.log (NewSstring);

Jak widać na poniższym obrazie, zastąpiliśmy pierwszy argument od podłacia na wyrażenie regularne z globalną flagą „G". Wyjście jest teraz:

Mamy dokładnie to, czego chcieliśmy. Ale wciąż czegoś brakuje, i tak jest, w którym wiele wystąpień tego samego podrzędnego jest różne wrażliwe na przypadki. Wyobraź sobie ten sam ciąg z góry, ale z niewielkimi zmianami:

String = "Brown Mat, brązowy stół, brązowy krzesło, brązowy kubek";

Teraz, jak widać, podłoże, które chcemy wymienić „Brown”, ma dwie różne wrażliwe na przypadki wersje, jedna zaczyna się od kapitału „B”, a druga począwszy od niższej litery „B”. Jeśli użyjemy normalnej regex z globalną flagą ”G„Tak jak:

String = "Brown Mat, brązowy stół, brązowy krzesło, brązowy kubek";
Newstring = String.zamień (/brąz/g, „niebieski”);
konsola.log (NewSstring);

Otrzymujemy następujące dane wyjściowe:

Przeżywamy wiele instancji, ale naszą metodą wyszukiwania jest wrażliwe na przypadek. Aby to zmienić na Niewrażliwy przypadek Możemy użyć Flag „I” razem z globalna flaga „g” tak jak:

Newstring = String.zamień (/brąz/gi, „niebieski”);

Kiedy używamy tego stwierdzenia zamiast starego, otrzymujemy następujące dane wyjściowe;

Wniosek

W JavaScript możemy wymienić podłoże z wartości ciągu, używając .zastępować() metoda. .zastępować() Metoda przyjmuje dwa argumenty, pierwsze to ekspresja lub wyrażenie regularne, a drugi to podjazd, który zastąpi stare podłoże. Nauczyliśmy się, jaka jest składnia .zastępować() Metoda i jaki jest jego typ powrotu. Ponadto użyliśmy .zastępować() Metoda w różnych przykładach przy użyciu zarówno wyrażeń podjazdowych, jak i regularnych w celu wyszukiwania możliwych dopasowań w ciągu, a nawet przechodziliśmy przez różne flagi, gdy używasz wyrażeń regularnych.