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

Author: Abhilash

Hey! My name is Abhilash - A Ruby developer for years, specialised on web programming, working as a freelancer. Mainly working on Ruby On Rails platform since 2010. This blog is about Ruby, Ruby On Rails and other subjects that I work. You can contact me here: Abhilash AK

Leave a Reply

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

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

Google photo

You are commenting using your Google 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 )

Connecting to %s