How to check for where a text file begins?

A

Al Cholic

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!
 
M

Mikel Lindsaar

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
 
R

Robert Klemme

2007/7/3 said:
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!

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,754
Messages
2,569,521
Members
44,995
Latest member
PinupduzSap

Latest Threads

Top