From: Dhruva Sagar Date: 2011-04-27T15:32:46+09:00 Subject: Re: pattern matching and array methods --001485f85f32a91a8d04a1e09b8f Content-Type: text/plain; charset=UTF-8 Something like this should do it : line.each {|l| puts l if l =~ /^(1:2)|(1:3)|(1:4)/} On Wed, Apr 27, 2011 at 09:37, Mfer Dez wrote: > I have a text file that is structured like so: > > 1:1 abcdefg > 1:2 abcdefg > 1:3 abcdefg > 1:4 abcdefg > 1:5 abcdefg > > I would like to be able to print out a subset of the file ie: print the > line beginning with 1:2 through the line beginning with 1:4 > > So far, I've started with this; > > lines = File.readlines("file.txt") > > This puts each line of the text file into an array, so the lines[] array > looks like this: > > line[0] is 1:1 abcdefg > line[1] is 1:2 abcdefg > line[2] is 1:3 abcdefg > etc. > > If I want to print out the lines that start with 1:2 through 1:4, how > should I proceed? Some of the text files won't be "aligned" in that > line[0] won't always be 1:1. If a user would like to print the lines > containing 3:9 - 3:31, how can I scan each line of the array and pattern > match the boundaries (3:9 - 3:31 in this example)? What array methods > are available to me. > > Thanks in advance for any information that could point me in the right > direction. > > -- > Posted via http://www.ruby-forum.com/. > > -- Thanks & Regards, Dhruva Sagar ---------------------------- Technical Developer - Mentor, Artha42 Innovations Pvt. Ltd. Become an expert in Rails. Join our 3 day Rails workshop and learn Ruby, Rails 3, Cucumber and Git. http://www.railspundit.com --001485f85f32a91a8d04a1e09b8f--