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+/).inspectAncres
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 resultRecherche 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 recherchersub(la première occurrence) etgsub(toutes les occurrences) pour remplacer- les motifs d’expressions régulières, les ancres et les classes de caractères
scanpour 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
- Bases et méthodes des chaînes
- Interpolation et formatage
- Rechercher et remplacer
- Découper et joindre