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

Unknown's avatar

Author: Abhilash

Hi, I’m Abhilash! A seasoned web developer with 15 years of experience specializing in Ruby and Ruby on Rails. Since 2010, I’ve built scalable, robust web applications and worked with frameworks like Angular, Sinatra, Laravel, Node.js, Vue and React. Passionate about clean, maintainable code and continuous learning, I share insights, tutorials, and experiences here. Let’s explore the ever-evolving world of web development together!

One thought on “Ruby string method ‘scan’”

Leave a comment