0Pricing
Ruby Academy · Leçon

Rechercher et remplacer

gsub, sub, match

Rechercher et remplacer est une leçon Ruby Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Ruby Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Ruby Academy comprend 4 leçons au total.

Recherche d’une sous-chaîne

La méthode index renvoie la position de la première correspondance, ou nil si elle n’est pas trouvée. include? renvoie vrai ou faux.

text = "hello world"
puts text.index("world")
puts text.include?("world")

Remplacer la première correspondance avec sub

sub remplace uniquement la première occurrence d’un motif par une nouvelle valeur.

text = "cat cat cat"
puts text.sub("cat", "dog")

Remplacer toutes les correspondances avec gsub

gsub signifie substitution globale. Cette méthode remplace toutes les occurrences.

text = "cat cat cat"
puts text.gsub("cat", "dog")

Utiliser les expressions régulières

Les motifs entre des barres obliques comme /.../ sont des expressions régulières. /\d/ correspond à un chiffre. gsub et sub acceptent des motifs d’expressions régulières.

text = "a1b2c3"
puts text.gsub(/\d/, "*")

Rechercher avec match?

match? renvoie vrai si une expression régulière correspond à un endroit quelconque de la chaîne. C’est une méthode rapide et claire pour effectuer des vérifications.

email = "ada@ruby.org"
puts email.match?(/@/)
puts "no at sign".match?(/@/)

Capturer avec match

match renvoie un objet MatchData. L’index [0] correspond à la correspondance entière ; les parenthèses créent des groupes de capture accessibles avec [1], [2], etc.

data = "2024-05-30"
m = data.match(/(\d+)-(\d+)-(\d+)/)
puts m[1]
puts m[2]

scan pour toutes les correspondances

scan renvoie un tableau contenant toutes les correspondances de la chaîne. C’est idéal pour extraire tous les nombres ou tous les mots.

text = "phone 555 and 777"
puts text.scan(/\d+/).inspect

Ancres

Les ancres attachent une correspondance à une position. ^ signifie le début de la ligne et $ la fin. \A et \z les attachent aux extrémités de la chaîne entière.

puts "hello".match?(/^hel/)
puts "hello".match?(/llo$/)
puts "hello".match?(/^world/)

Classes de caractères

Les crochets définissent un ensemble de caractères autorisés. [aeiou] correspond à n’importe quelle voyelle. [a-z] correspond à n’importe quelle lettre minuscule.

text = "Ruby"
puts text.gsub(/[aeiou]/i, "_")

Blocs dans gsub

Transmettez un bloc à gsub pour transformer chaque correspondance de manière dynamique. Le texte correspondant est l’argument du bloc.

text = "one two"
result = text.gsub(/\w+/) { |w| w.upcase }
puts result

Recherche insensible à la casse

L’indicateur i placé après une expression régulière lui fait ignorer la casse des lettres.

text = "Hello HELLO hello"
puts text.gsub(/hello/i, "hi")

Vérification rapide

Vérifiez vos compétences en recherche et remplacement.

Récapitulatif

Vous savez maintenant rechercher et remplacer du texte :

  • index, include?, match? pour rechercher
  • sub (la première occurrence) et gsub (toutes les occurrences) pour remplacer
  • les motifs d’expressions régulières, les ancres et les classes de caractères
  • scan pour extraire toutes les correspondances et les blocs pour effectuer des remplacements dynamiques

Ensuite : découper et joindre des chaînes.

puts "a,b,c".gsub(",", " | ")

Questions Fréquemment Posées

La leçon « Rechercher et remplacer » est-elle gratuite ?

Oui — le texte complet de « Rechercher et remplacer » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Ruby Academy, passe à CoddyKit PRO. Le cours Ruby Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Rechercher et remplacer » ?

gsub, sub, match Tu pratiques Ruby Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Ruby Academy ?

Aucune expérience préalable n'est requise. Ruby Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Rechercher et remplacer » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Ruby Academy ?

Oui. Chaque leçon Ruby Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Bases et méthodes des chaînes
  2. Interpolation et formatage
  3. Rechercher et remplacer
  4. Découper et joindre
← Retour à Ruby Academy