Skip to content

Archives

  • janvier 2022
  • décembre 2021
  • novembre 2021
  • octobre 2021
  • septembre 2021

Categories

  • Aucune catégorie
Trend RepositoryArticles and guides
Articles

3 Awesome Ways To Use Ruby’s Gsub Method

On octobre 4, 2021 by admin

Parlons de la méthode gsub de Ruby.

D’abord, vous aurez besoin d’une chaîne de caractères pour jouer avec cette méthode.

Pourquoi ?

Parce que vous utilisez gsub sur une chaîne de caractères pour en remplacer des parties.

En fait :

Le « sub » dans « gsub » signifie « substitut », et le « g » signifie « global ».

Vous avez votre chaîne de caractères ?

Bien.

Sinon, vous pouvez emprunter la mienne.

Voici:

str = "white chocolate"

Disons que nous voulons remplacer « blanc » par « foncé ».

Voici comment :

str.gsub("white", "dark")

Ceci veut dire :

Donné la chaîne str, commandez-lui de remplacer TOUTES les occurrences du premier mot (white) par le deuxième mot (dark).

Ce qui veut dire qu’on va pouvoir manger du bien meilleur chocolat.

Oh attendez, c’est juste une chaîne de caractères.

On ne peut pas manger ça !

En tout cas…

La méthode gsub de Ruby peut faire bien plus qu’une simple substitution.

Voyons quelques exemples.

  • Remplacer des motifs avec une expression régulière
  • Gsub avancé avec les blocs
  • Remplacer plusieurs termes avec un hash
  • Summary

Remplacer des motifs avec une expression régulière

Remplacer un seul mot est bien.

Mais si vous pouviez remplacer un motif ?

Comme :

Une année, une adresse email, un numéro de téléphone, etc.

Vous pouvez !

Voici un exemple :

"a1".gsub(/\d/, "2")# "a2"

Le premier argument est une expression régulière, et c’est trop à couvrir ici.

Mais c’est un langage de correspondance de motifs.

Dans ce cas, \d recherche des nombres, comme le « 1 » dans « a1 ».

Vous pouvez également faire ceci :

"a1".gsub(/(\w)(\d)/, '')

Ce qui donne :

"1a"

Nous avons changé l’ordre !

Cela fonctionne en utilisant une fonctionnalité appelée « groupes de capture ».

Nous pouvons utiliser les groupes comme pour le premier groupe, pour le deuxième groupe, etc.

Les groupes sont créés avec des parenthèses.

Gsub avancé avec les blocs

Les choses deviennent vraiment intéressantes lorsque vous commencez à utiliser gsub avec un bloc.

Pourquoi ?

Parce que dans un bloc, vous pouvez utiliser la logique pour décider comment remplacer quelque chose.

Au lieu d’utiliser une valeur statique.

Par exemple :

"dog".gsub(/\w+/) { |animal| animal == "dog" ? "cat" : "dog" }

On trouve l’animal avec \w+, ce qui signifie « un ou plusieurs caractères alphanumériques ».

Alors:

  • Si c’est un « chien », on le remplace par « chat »
  • Si le mot est autre chose, on le remplace par « chien »

Ce genre de logique n’est pas possible avec une valeur statique, le 2e paramètre de gsub.

Remplacer plusieurs termes avec un hash

Si vous avez une liste de substitutions à faire, vous pouvez utiliser un hash.

Comme celui-ci:

colors = { "B" => "blue", "G" => "green", "R" => "red"}

Cela fonctionne comme un dictionnaire de traduction, où les clés seront remplacées par leurs valeurs.

Voici un exemple:

"BBBGR".gsub(/\w/, colors)

Ce qui donne:

"bluebluebluegreenred"

Assurez-vous que votre 1er argument correspondra aux clés.

Dans ce cas, \w correspond à des caractères individuels, donc il correspondra à « B » puis le remplacera par « bleu ».

Summary

Vous avez appris la méthode gsub en Ruby ! C’est une méthode puissante qui vous permet de remplacer, ou substituer des caractères à l’intérieur d’une chaîne de caractères.

Elle a de multiples usages :

  • Suppression des caractères invalides (en faisant du 2e argument une chaîne vide)
  • Remplacement des caractères de remplacement &des acronymes par leurs valeurs complètes
  • Utilisation de motifs &logiques pour modifier une chaîne

Maintenant, c’est à votre tour de vous exercer avec cette méthode afin de faire en sorte que vos nouvelles connaissances soient retenues.

Merci de lire 🙂

Laisser un commentaire Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Archives

  • janvier 2022
  • décembre 2021
  • novembre 2021
  • octobre 2021
  • septembre 2021

Méta

  • Connexion
  • Flux des publications
  • Flux des commentaires
  • Site de WordPress-FR
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語

Copyright Trend Repository 2022 | Theme by ThemeinProgress | Proudly powered by WordPress