regexp on String object

Posted by root Sun, 06 Jul 2008 11:04:00 GMT

Some of the more rarely used string methods:

str = "the tester"

str["tester"]        #true, the String contains "tester"
str[/\w+\s\w+/] #true, the String matches the regexp
emulates capitalize!
str[/(\w+)/] = ($1[0] - 32).chr

RDoc Documentation

Posted in  | Tags  | no comments

Fun with String class methods

Posted by root Sat, 14 Jun 2008 13:45:00 GMT

class MyString < String
  # not really useful
  alias + concat

  # emulates Array '*' method
  def *(string)
    self.split('').inject('') do |s1,c|
      s1 + c + string
    end
  end

  # emulates Array '-' method
  def /(string)
    (self.split('') - string.split('')).to_s
  end

  # chars' delimiter
  def delimiter(string)
    self.*(string).sub /.$/, ''
  end

end

a = MyString.new("abcdef")
b = MyString.new("ABCDEF")

puts a * ':'
puts a / (b + "a")
puts a.delimiter(":")

#a:b:c:d:e:f:
#bcdef
#a:b:c:d:e:f

Posted in  | Tags ,  | no comments