Come sostituire tutte le sottostringhe in una stringa usando il metodo Sostituisci?

Come sostituire tutte le sottostringhe in una stringa usando il metodo Sostituisci?
Le operazioni di stringa sono una delle caratteristiche più importanti di un linguaggio di programmazione. Oggi, autorizzando le password a confermare gli indirizzi e -mail validi, verificare il formato di un indirizzo postale e verificare che il numero di cifre in un numero di telefono sia eseguita con l'aiuto delle operazioni di stringa.

Esistono numerosi metodi di funzionamento delle stringhe disponibili in JavaScript, ognuno con i propri vantaggi di utilizzo e i suoi determinanti. Uno di questi metodi è il .sostituire() metodo.

Qual è il metodo sostituito ()?

Come indicato il nome, il .sostituire() Sostituisce una stringa o una parte di una stringa (sottostringa) con un'altra stringa.

La sintassi del .sostituire() Il metodo è abbastanza semplice:

corda.Sostituire (ValueTosearchfor, ValueTorePlacewith);

C'è un fattore unico per il .sostituire() metodo, ed è presente nella sua sintassi. Quindi, spieghiamo la sintassi.

  • corda: La stringa la cui sottostringa deve essere modificata.
  • Valuetosearhfor: Una sottostringo o un regex per abbinare la "stringa" contro.
  • Valuetoreplacewith: Nuova sottostringa che sostituirà quella vecchia.
  • Valore di ritorno: Una stringa con la sottostringa modificata.

Esempio

Un semplice esempio di .sostituire() Il metodo sarebbe come:

string = "Hello World, Welcome to LinuxHint";
console.log (stringa);
Newstring = String.sostituire ("mondo", "programmatori");
console.log (Newstring);

Quello che stiamo facendo qui è che stiamo creando una variabile "corda"E dandogli un valore testuale che è" Hello World, Welcome to Linuxhint ". Vogliamo sostituire la sottostringa "mondo" con i "programmatori", ecco perché abbiamo creato una nuova variabile e lo ha chiamato "Newstring" e superato il valore restituito dal .sostituire() metodo. Infine, abbiamo il console.tronco d'albero() Per stampare i valori di entrambe le variabili.

Produzione

Come possiamo vedere, la variabile "Newstring" ha la stringa aggiornata al suo interno.

Come usare Regex in .Sostituisci () metodo

E se vogliamo cercare più istanze della stessa stringa? E se la nostra stringa è così:

String = "MAPT BROWN, tavolo marrone, sedia marrone, tazza marrone";

E vogliamo sostituire tutte le sottostrutture "marroni" con "blu". Diamo un'occhiata a usare il metodo che abbiamo imparato sopra.

String = "MAPT BROWN, tavolo marrone, sedia marrone, tazza marrone";
Newstring = String.sostituire ("marrone", "blu");
console.log (Newstring);

L'output è:

L'output è:

Non è quello che volevamo. Allora cosa è andato storto? Bene, niente è andato storto. Il modo in cui il .Il metodo di sostituzione () funziona è che trova la prima istanza della sottostringa, lo sostituisce e smette di eseguire. Quindi, se vogliamo verificare più istanze, dobbiamo usare Regex con la bandiera globale "G". Ulteriori informazioni su Regex in JavaScript.

Ora useremo Regex nel primo argomento del sostituire() metodo invece di una sottostringa normale, come:

String = "MAPT BROWN, tavolo marrone, sedia marrone, tazza marrone";
Newstring = String.sostituire (/Brown/g, "blu");
console.log (Newstring);

Come puoi vedere nell'immagine di seguito, abbiamo sostituito il primo argomento da una sottostringa a un'espressione regolare con la bandiera globale "G". L'output ora è:

Abbiamo ottenuto esattamente quello che volevamo. Ma manca ancora qualcosa, e questo è il caso in cui le più istanze della stessa sottostringa sono diverse dal caso. Immagina la stessa stringa dall'alto ma con lievi cambiamenti come questo:

String = "MAPT BROWN, tavolo marrone, sedia marrone, tazza marrone";

Ora, come puoi vedere, la sottostringa che vogliamo sostituire "Brown" ha due diverse versioni sensibili al caso, una a partire dalla lettera maiuscola "B" e l'altra che inizia con la lettera inferiore "B". Se utilizziamo il normale regex con la bandiera globale "G" così:

String = "MAPT BROWN, tavolo marrone, sedia marrone, tazza marrone";
Newstring = String.sostituire (/Brown/g, "blu");
console.log (Newstring);

Otteniamo il seguente output:

Stiamo esaminando più istanze ma il nostro metodo di ricerca lo è maiuscole e minuscole. Per cambiarlo in insensibile al caso Possiamo usare il Flag "I" insieme con il Flag globale "G" Piace:

Newstring = String.sostituire (/Brown/gi, "blu");

Quando stiamo usando questa affermazione anziché quella vecchia otteniamo il seguente output;

Conclusione

In JavaScript, possiamo sostituire una sottostringa da un valore di stringa utilizzando il .sostituire() metodo. IL .sostituire() Il metodo prende due argomenti, il primo è la sottostringa o un'espressione regolare e la seconda è la sottostringa che sostituirà le vecchie sottostringhe. Abbiamo imparato qual è la sintassi del .sostituire() Metodo e qual è il suo tipo di ritorno. Inoltre, abbiamo usato il .sostituire() Metodo in diversi esempi che utilizzano sia la sottostringa che le espressioni regolari per cercare possibili corrispondenze in una stringa e abbiamo persino attraversato flag diverse quando usiamo espressioni regolari.