Comment remplacer toutes les sous-chaînes d'une chaîne en utilisant la méthode de remplacement?

Comment remplacer toutes les sous-chaînes d'une chaîne en utilisant la méthode de remplacement?
Les opérations de cordes sont l'une des caractéristiques les plus importantes d'un langage de programmation. De nos jours, autorisant les mots de passe pour confirmer les adresses e-mail valides, la vérification du format d'une adresse postale et la vérification du nombre de chiffres dans un numéro de téléphone est effectuée à l'aide des opérations de chaîne.

Il existe de nombreuses méthodes de fonctionnement de cordes disponibles en JavaScript, chacune avec ses propres avantages d'utilisation et ses déterminants. L'une de ces méthodes est le .remplacer() méthode.

Quelle est la méthode remplacer ()?

Comme son nom l'a indiqué, le .remplacer() remplace une chaîne ou une partie d'une chaîne (sous-chaîne) par une autre chaîne.

La syntaxe du .remplacer() La méthode est assez simple:

chaîne.Remplacer (ValuetOsearchFor, ValuetorePlaceWith);

Il y a un facteur unique sur le .remplacer() Méthode, et elle est présente dans sa syntaxe. Alors, expliquons la syntaxe.

  • chaîne: La chaîne dont la sous-chaîne doit être modifiée.
  • Valuetosearhfor: Une sous-chaîne ou un regex pour correspondre à la «chaîne» contre.
  • ValuetorePlace avec: Nouvelle sous-chaîne qui remplacera l'ancienne.
  • Valeur de retour: Une chaîne avec la sous-chaîne modifiée.

Exemple

Un exemple simple du .remplacer() La méthode serait comme:

String = "Hello World, bienvenue sur LinuxHint";
console.log (chaîne);
Newsring = chaîne.remplacer ("monde", "programmeurs");
console.journal (newstring);

Ce que nous faisons ici, c'est que nous créons une variable "chaîne"Et lui donner une valeur textuelle qui est" Hello World, bienvenue à Linuxhint ". Nous voulons remplacer le «monde» de la sous-chaîne par des «programmeurs», c'est pourquoi nous avons créé une nouvelle variable et l'avons nommée «newstring» et passé la valeur renvoyée de la .remplacer() méthode. Enfin, nous avons le console.enregistrer() pour imprimer les valeurs des deux variables.

Sortir

Comme nous pouvons le voir, la variable «Newsring» a la chaîne mise à jour à l'intérieur.

Comment utiliser Regex dans .Méthode remplacer ()

Et si nous voulons rechercher plusieurs instances de la même chaîne? Et si notre chaîne est comme ceci:

String = "tapis marron, table marron, chaise marron, tasse brune";

Et nous voulons remplacer toutes les sous-chaînes «brunes» par «bleu». Essayons-le en utilisant la méthode que nous avons apprise ci-dessus.

String = "tapis marron, table marron, chaise marron, tasse brune";
Newsring = chaîne.remplacer ("brun", "bleu");
console.journal (newstring);

La sortie est:

La sortie est:

Ce n'est pas ce que nous voulions. Alors qu'est-ce qui ne va pas? Eh bien, rien ne s'est mal passé. La façon dont le .La méthode remplace () fonctionne qu'il trouve la première instance de la sous-chaîne, la remplace et cesse d'exécuter. Donc, si nous voulons vérifier plusieurs instances, nous devons utiliser Regex avec le drapeau global «G». En savoir plus sur Regex en JavaScript.

Maintenant, nous allons utiliser Regex dans le premier argument du remplacer() Méthode au lieu d'une sous-chaîne normale, comme:

String = "tapis marron, table marron, chaise marron, tasse brune";
Newsring = chaîne.remplacer (/ marron / g, "bleu");
console.journal (newstring);

Comme vous pouvez le voir dans l'image ci-dessous, nous avons remplacé le premier argument d'une sous-chaîne à une expression régulière par le drapeau global "g". La sortie est maintenant:

Nous avons exactement ce que nous voulions. Mais il manque encore quelque chose, et c'est le cas où les multiples instances de la même sous-chaîne sont différentes de cas. Imaginez la même chaîne d'en haut mais avec de légers changements comme celui-ci:

String = "tapis marron, table marron, chaise marron, tasse brune";

Maintenant, comme vous pouvez le voir, la sous-chaîne que nous voulons remplacer «Brown» a deux versions de cas différentes, l'une commençant par la lettre majuscule «B» et l'autre en commençant par la lettre inférieure «B». Si nous utilisons le regex normal avec le drapeau global "g" ainsi:

String = "tapis marron, table marron, chaise marron, tasse brune";
Newsring = chaîne.remplacer (/ marron / g, "bleu");
console.journal (newstring);

Nous obtenons la sortie suivante:

Nous passons sur plusieurs instances mais notre méthode de recherche est sensible aux majuscules et minuscules. Pour le changer en insensible à la cas Nous pouvons utiliser le Flag "I" avec le Flag mondial «G» comme:

Newsring = chaîne.remplacer (/ marron / gi, "bleu");

Lorsque nous utilisons cette instruction au lieu de l'ancienne, nous obtenons la sortie suivante;

Conclusion

Dans JavaScript, nous pouvons remplacer une sous-chaîne à partir d'une valeur de chaîne en utilisant le .remplacer() méthode. Le .remplacer() La méthode prend deux arguments, le premier étant la sous-chaîne ou une expression régulière et la seconde étant la sous-chaîne qui remplacera l'ancienne sous-chaîne. Nous avons appris quelle est la syntaxe du .remplacer() Méthode et quel est son type de retour. De plus, nous avons utilisé le .remplacer() Méthode dans différents exemples en utilisant à la fois la sous-chaîne et les expressions régulières pour rechercher des correspondances possibles dans une chaîne et nous avons même parcouru différents drapeaux lors de l'utilisation d'expressions régulières.