J'ai une chaîne que j'essaie de travailler avec l'utilisation de la méthode GSUB à Ruby. Le problème est que j'ai une gamme dynamique de chaînes que j'ai besoin de itération pour rechercher le texte d'origine et remplacer par. P>
Par exemple, si j'ai la chaîne d'origine suivante (il s'agit d'un exemple de texte que je travaille avec et j'espère que tout cela fonctionne) et d'avoir un éventail d'articles que je souhaite rechercher et remplacer. P>
Merci pour l'aide à l'avance! P>
3 Réponses :
Est-ce ce que vous recherchez?
ruby-1.9.2-p0 > arr = ["This is some sample text", "text file"] => ["This is some sample text", "text file"] ruby-1.9.2-p0 > arr = arr.map {|s| s.gsub(/text/, 'document')} => ["This is some sample document", "document file"]
a.each do |s| s.gsub!('This is some sample text', 'replacement') end
en utilisant Array # Remplir . P>
irb(main):008:0> a => {:a=>1, :b=>2, :c=>3, :d=>nil, :e=>5} irb(main):009:0> a.values => [1, 2, 3, nil, 5] irb(main):012:0> a.values.map { |x| x.nil? ? 'void' : x } => [1, 2, 3, "void", 5] irb(main):016:0> a.values.map { |x| /\d/.match?(x.to_s) ? 'digit' : x } => ["digit", "digit", "digit", nil, "digit"]