Get acronym : String class Extension « String « Ruby






Get acronym


class String
  def acronym(thresh=0)
    acro=""
    str=self.dup.strip
    while !str.nil? && !str.empty?
      word = str.shift_word
      if word.length >= thresh
        acro += word.strip[0,1].to_s.upcase
      end
    end
    acro
  end
  @@first_word_re = /^(\w+\W*)/

  def shift_word
    return nil if self.empty?
    self=~@@first_word_re
    newself= $' || ""       # $' is POSTMATCH
    self.replace(newself) unless $'.nil?
    $1
  end
end


s1 = "this is a test"
puts s1.acronym     

 








Related examples in the same category

1.write an extension to the String class to provide it
2.Add method to system type
3.Processing a String One Word at a Time by adding a method to string class
4.Replacing Multiple Patterns in a Single Pass
5.Writing an Inherited Class
6.Override the method from String Class
7.Regular expression based comparison
8.String translation
9.convert string to binary number
10.Removes first character from self and returns it, changing self
11.Adds last character of provided string to front of self
12.Pops last character off self and returns it, changing self
13.Pushes first character of provided string onto end of self
14.Rotate left
15.Rotate right
16.Shifts first word off of self and returns; changes self
17.Adds provided string to front of self
18.Pops and returns last word off self; changes self
19.Pushes provided string onto end of self