Hello, Im working with some imported text files and I need check where the first 2 lines of text occur. The files can have white space in the beginning, so I cant just do a split("\n") and take the first two elements of the array. Im a bit confused about this stuff. Here is what I've been trying to do with regular expressions, but no results yet: def find_first_two_lines(file) /\S\n\S/.match(file) end If anyone has any ideas, please do share! Thanks in advance!
on 2007-07-03 01:08
on 2007-07-03 01:20
def find_first_two_lines(text) text.strip.split("\n").slice(0,2) end Returns an array of the first two non whitespace lines delimited by \n (\n is also included in whitespace per strip... handly) Regards Mikel Lindsaar http://www.blognow.com.au/q
on 2007-07-03 16:34
2007/7/3, Al Cholic <firstname.lastname@example.org>: > /\S\n\S/.match(file) > end > > If anyone has any ideas, please do share! What exactly do you want to do with them? If you have your file contents in a single string you can do s.sub(/^\s+/, '') in order to get rid of all leading whitespace. You can as well do the checking during reading, probably like this: contents = nil io.each do |line| contents = "" if contents.nil? && /^\s*$/ =~ line contents << line if contents end Kind regards robert