From: Christopher Dicely Date: 2011-04-27T14:19:54+09:00 Subject: Re: pattern matching and array methods On Tue, Apr 26, 2011 at 9:07 PM, 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. If you just want to print the selected lines, the array methods available aren't the interesting ones (Array#each is probably enough), the interesting part is parsing the tag part of the lines, for which you probably want to consider using regular expressions.