Here I am writing about the ruby scan method for string.
syntax: scan(pattern) => array
Take a string name, where
irb> name = "Viswanathan Anand"
You scan through the string for words by,
ruby-1.9.2-p290 :014 > name.scan(/\w+/)
=> ["Viswanathan", "Anand"]
scan for 3 letters and make them an array element,
ruby-1.9.2-p290 :015 > name.scan(/.../)
=> ["Vis", "wan", "ath", "an ", "Ana"]
scan for 3 letters and group them with an array and make them array element,
ruby-1.9.2-p290 :016 > name.scan(/(...)/)
=> [["Vis"], ["wan"], ["ath"], ["an "], ["Ana"]]
and you can make three two pair letters in an array like:
ruby-1.9.2-p290 :017 > name.scan(/(...)(...)/)
=> [["Vis", "wan"], ["ath", "an "]]
You can also use reg exp like,
ruby-1.9.2-p290 :018 > name.scan(/[A-Z][a-z]+/)
=> ["Viswanathan", "Anand"]