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ę.
Przykład
Prosty przykład .zastępować() Metoda byłaby:
string = "Hello World, witamy w Linuxhint";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";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";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";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.