Ruby string method ‘scan’

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"]
Advertisements

Author: Abhilash

Hi, this is Abhilash - Senior Programmer Analyst at CoMakeIT, specialised on web programming. Mainly working on Ruby On Rails platform since 2010.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s