Try:
["aaaa;bbb"].map { |e| e.gsub(/;.*/, ';') }
From documentation: gsub
returns a copy of str with the all occurrences of pattern substituted for the second argument.
So this regexp will match ;
and any character after, so you have to pass ;
as second argument.