Hvordan erstatte alle underlag i en streng ved hjelp av erstatningsmetoden?

Hvordan erstatte alle underlag i en streng ved hjelp av erstatningsmetoden?
Strengoperasjoner er en av de viktigste funksjonene i et programmeringsspråk. I dag, autoriserer passord for å bekrefte gyldige e -postadresser, verifisere formatet til en postadresse og verifisere antall sifre i et telefonnummer gjøres ved hjelp av strengoperasjoner.

Det er mange strengoperasjonsmetoder tilgjengelig i JavaScript, hver med sine egne fordeler og determinanter. En av slike metoder er .erstatte() metode.

Hva er erstatningsmetoden ()?

Som navnet indikerte, .erstatte() Erstatter en streng eller en del av en streng (Substring) med en annen streng.

Syntaksen til .erstatte() Metoden er ganske enkel:

streng.erstatte (valuetosearchfor, valuetoreplacewith);

Det er en unik faktor om .erstatte() metode, og den er til stede i syntaks. Så la oss forklare syntaksen.

  • streng: Strengen hvis substring skal endres.
  • Valuetosearhfor: En substring eller en regex for å matche "strengen" mot.
  • ValuetoreplaceWith: Ny substring som vil erstatte den gamle.
  • Returverdi: En streng med den modifiserte substring.

Eksempel

Et enkelt eksempel på .erstatte() Metoden ville være som:

String = "Hello World, velkommen til Linuxhint";
konsoll.log (streng);
NewString = streng.erstatte ("verden", "programmerere");
konsoll.logg (NewsString);

Det vi gjør her er at vi lager en variabel “streng”Og å gi den litt tekstverdi som er“ Hello World, velkommen til Linuxhint ”. Vi ønsker å erstatte den "verden" med "programmerere", og det er grunnen til .erstatte() metode. Endelig har vi konsoll.Logg() å skrive ut verdiene til begge variablene.

Produksjon

Som vi kan se, har variabelen “NewString” den oppdaterte strengen inni den.

Hvordan du bruker regex i .erstatte () metode

Hva om vi vil søke etter flere forekomster av samme streng? Hva om strengen vår er slik:

String = "Brown Mat, Brown Table, Brown Stol, Brown Mug";

Og vi ønsker å erstatte alle de "brune" underlagene med "blå". La oss prøve det å bruke metoden som vi har lært ovenfor.

String = "Brown Mat, Brown Table, Brown Stol, Brown Mug";
NewString = streng.erstatte ("brun", "blå");
konsoll.logg (NewsString);

Utgangen er:

Utgangen er:

Det er ikke det vi ønsket. Så hva gikk galt? Vel, ingenting gikk galt. Slik .erstatte () Metode fungerer er at den finner den første forekomsten av substringen, erstatter den og slutter å utføre. Så hvis vi vil se etter flere forekomster, må vi bruke regex med det globale flagget "G". Lær mer om regex i JavaScript.

Nå skal vi bruke regex i det første argumentet til erstatte() metode i stedet for en normal substring, som:

String = "Brown Mat, Brown Table, Brown Stol, Brown Mug";
NewString = streng.erstatte (/brun/g, "blå");
konsoll.logg (NewsString);

Som du kan se i det undergitte bildet, har vi erstattet det første argumentet fra en substring til et vanlig uttrykk med det globale flagget “g”. Utgangen nå er:

Vi fikk akkurat det vi ønsket. Men det mangler fortsatt noe, og det er tilfelle der flere forekomster av samme substring er forskjellige case-sensitive. Se for deg den samme strengen ovenfra, men med små endringer som dette:

String = "Brown Mat, Brown Table, Brown Stol, Brown Mug";

Som du ser, har substringen som vi ønsker å erstatte “Brown” to forskjellige case-sensitive versjoner, den ene starter med store bokstaver “B” og den andre som starter med den nedre bokstaven “B”. Hvis vi bruker normal regex med det globale flagget “g" som så:

String = "Brown Mat, Brown Table, Brown Stol, Brown Mug";
NewString = streng.erstatte (/brun/g, "blå");
konsoll.logg (NewsString);

Vi får følgende utdata:

Vi går over flere forekomster, men søkemetoden vår er Case-sensitiv. Å endre det til Case-ufølsom Vi kan bruke flagg “jeg” sammen med Globalt flagg “G” som:

NewString = streng.erstatte (/brun/gi, "blå");

Når vi bruker denne uttalelsen i stedet for den gamle, får vi følgende utgang;

Konklusjon

I JavaScript kan vi erstatte en substring fra en strengverdi ved å bruke .erstatte() metode. De .erstatte() Metoden tar to argumenter, den første er substring eller et vanlig uttrykk og den andre er substringen som vil erstatte de gamle underlagene. Vi har lært hva som er syntaksen til .erstatte() metode og hva er dens returtype. Dessuten brukte vi .erstatte() Metode i forskjellige eksempler ved bruk av både substring og vanlige uttrykk for å søke etter mulige kamper i en streng, og vi gikk til og med gjennom forskjellige flagg når vi brukte vanlige uttrykk.