Ruby reduce all whitespace to single spaces
This is a case where regular expressions work well, because you want to treat the whole class of whitespace characters the same and replace runs of any combination of whitespace with a single space character. So if that string is stored in s
, then you would do:
fixed_string = s.gsub(/\s+/, ' ')
Within Rails you can use String#squish
, which is an active_support
extensions.
require 'active_support'
s = <<-EOS
1/2 cup
onion
EOS
s.squish
# => 1/2 cup onion