2009-11-17 5 views

Répondre

6

Je pense que vous voulez dire que vous avez un tableau de chaînes et qu'elles contiennent toutes une sous-chaîne que vous voulez supprimer. De manière non destructive:

array.map {|s| s.gsub(keyword, '')} 

Utilisez des variantes destructrices si vous le souhaitez pour le faire sur place.

+0

est ici un destructeur (en place) par exemple: 'array.each {| mot | word.delete! ('aeiou')} ' –

+0

Voici un autre exemple destructif (sur place):' array.map! {| mot | word.gsub (mot-clé, '')} ' –

+6

nous sommes les destructoglenns –

1

Faites-vous référence à une chaîne dans le tableau ou à des éléments non uniques. Pour la première, utilisez la méthode uniq:

p ["foo", "bar", "foo", "baz"].uniq 
["foo", "bar", "baz"] 

Pour ce dernier, essayer quelque chose comme:

p ["foo", "bar", "foo", "baz"].map { |x| x.gsub('oo', '') } 
["f", "bar", "f", "baz"] 
Questions connexes