Dans d'autres langues, vous pouvez utiliser // g pour une correspondance globale.
Cependant, en rubis:
"hello hello".match /(hello)/
Ne capture qu'un bonjour
Comment capturer tout bonjour?
Dans d'autres langues, vous pouvez utiliser // g pour une correspondance globale.
Cependant, en rubis:
"hello hello".match /(hello)/
Ne capture qu'un bonjour
Comment capturer tout bonjour?
Vous pouvez utiliser la méthode de numérisation. La méthode d'analyse vous donnera un tableau de toutes les correspondances ou, si vous transmettez un bloc, transmettez chaque correspondance au bloc.
"hello1 hello2".scan(/(hello\d+)/) # => [["hello1"], ["hello2"]]
"hello1 hello2".scan(/(hello\d+)/).each do|m|
puts m
end
J'ai écrit sur cette méthode, vous pouvez en lire plus ici vers la fin de l'article.
utilisez String#scan
. Il retournera un tableau de chaque correspondance, ou vous pouvez passer un bloc et il sera appelé à chaque correspondance.
Tous les détails sur http://ruby-doc.org/core/classes/String.html#M000812
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.