Ruby:
Suppression de caractères correspondant à un motif
Comment faire :
# Supprimer tous les chiffres d'une chaîne
texte = "Voici le numéro 12345."
texte_sans_chiffres = texte.gsub(/[0-9]/, '')
puts texte_sans_chiffres
# => Voici le numéro .
# Supprimer des caractères spécifiques
email = "example[at]domain[dot]com"
email_normalise = email.gsub(/\[at\]/, '@').gsub(/\[dot\]/, '.')
puts email_normalise
# => [email protected]
# Utiliser 'delete' pour enlever plusieurs caractères
slogan = "Ruby: Pur & Simple!"
slogan_sans_signes = slogan.delete("&!")
puts slogan_sans_signes
# => Ruby: Pur Simple
Plongée Profonde
Historiquement, gsub
et delete
sont des méthodes qui viennent des origines du langage Ruby. Elles sont conçues pour manipuler des chaînes de caractères de manière intuitive. L’alternative, gsub!
et delete!
, modifient la chaîne en place, ce qui peut être utile pour économiser la mémoire.
Utiliser des expressions régulières avec gsub
permet une grande flexibilité pour spécifier des motifs complexes. Mais attention, les expressions régulières peuvent ralentir votre code si elles sont mal utilisées.
Pour implémenter ces fonctions efficacement, Ruby utilise un moteur d’expressions régulières robuste. Il est conçu pour traiter rapidement du texte, tout en offrant un large éventail de motifs et opérateurs de correspondance.
Voir Aussi
- La documentation de Ruby sur les expressions régulières : Regexp
- Documentation sur
String#gsub
: String#gsub - Documentation sur
String#delete
: String#delete - Ruby Style Guide pour les bonnes pratiques de codage : Ruby Style Guide
- Un tutoriel sur les expressions régulières en Ruby : Ruby Regexp Tutorial