Verwenden von Ruby 2.4. Ich habe eine Reihe von Saiten. Ich möchte nicht-brechenden und brechenden Platz vom Ende jedes Elements in dem Array entfernen sowie mehrere aufeinanderfolgende Vorkommen von Leerraum durch einen einzelnen Leerraum ersetzen. Ich dachte, unter teh war die Art und Weise, aber ich erhalte eine FehlermeldungWie ersetze ich aufeinanderfolgende Vorkommen von Leerraum in jedem Element meines Arrays?
> words = ["1", "HUMPHRIES \t\t\t\t\t\t\t\t\t\t\t\t\t\t, \t\t\t\t\t\t\t\t\t\t\t\t\tJASON", "328", "FAIRVIEW, OR (US)", "US", "M", " 27 ", "00:27:30.00 \t\t\t\t\t\t\t\t\t\t\t \n"]
> words.map{|word| word ? word.gsub!(/\A\p{Space}+|\p{Space}+\z/, '').gsub!(/[[:space:]]+/, ' ') : nil }
NoMethodError: undefined method `gsub!' for nil:NilClass
from (irb):4:in `block in irb_binding'
from (irb):4:in `map'
from (irb):4
from /Users/nataliab/.rvm/gems/ruby-2.4.0/gems/railties-5.0.2/lib/rails/commands/console.rb:65:in `start'
from /Users/nataliab/.rvm/gems/ruby-2.4.0/gems/railties-5.0.2/lib/rails/commands/console_helper.rb:9:in `start'
from /Users/nataliab/.rvm/gems/ruby-2.4.0/gems/railties-5.0.2/lib/rails/commands/commands_tasks.rb:78:in `console'
from /Users/nataliab/.rvm/gems/ruby-2.4.0/gems/railties-5.0.2/lib/rails/commands/commands_tasks.rb:49:in `run_command!'
from /Users/nataliab/.rvm/gems/ruby-2.4.0/gems/railties-5.0.2/lib/rails/commands.rb:18:in `<top (required)>'
from bin/rails:4:in `require'
from bin/rails:4:in `<main>'
Wie kann ich richtig aufeinander folgende Vorkommen von Leerraum ersetzen sowie Streifen aus jedem Wort in dem Array aus?
so etwas wie dieses versuchen: http://stackoverflow.com/questions/41306355/how-to-replace-the-characters-in- a-string – agm1984
Danke, aber diese Antwort behandelt nicht, wie nicht-brechender/brechender Platz von den Enden jedes Wortes im Array entfernt wird. –
@Natalia Können wir Ihre Frage etwas aufräumen? Entfernen Sie die irb-Eingabeaufforderungen "2.4.0: 003" usw.; Setzen Sie ein '#' vor die Ausgaben und korrigieren Sie Ihre Tippfehler. Vielen Dank. –