How to get words frequency in efficient way with ruby?

前端 未结 7 1684
伪装坚强ぢ
伪装坚强ぢ 2021-02-05 17:50

Sample input:

\"I was 09809 home -- Yes! yes!  You was\"

and output:

{ \'yes\' => 2, \'was\' => 2, \'i\' => 1, \'home\         


        
7条回答
  •  野性不改
    2021-02-05 18:25

    class String
      def frequency
        self.scan(/[a-zA-Z]+/).each.with_object(Hash.new(0)) do |word, hash|
          hash[word.downcase] += 1
        end
      end
    end
    

    puts "I was 09809 home -- Yes! yes! You was".frequency

提交回复
热议问题