Spliting input at blank line

A

Arfon Smith

I'm trying to read in a file with blocks of text separated by blank
lines. How do I go about spliting the input file using the blank lines
as delimiters?

For example I havea file containing the following:

[1] Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi
ut aliquip ex ea commodo consequat.

[2] Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi
ut aliquip ex ea commodo consequat.

[3] Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi
ut aliquip ex ea commodo consequat.

And I want to split it into chunks of text like this:

[1] Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do
eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi
ut aliquip ex ea commodo consequat.

I get how to split by newline characters but how do I split at a blank
line?

Thanks
 
P

Phrogz

I'm trying to read in a file with blocks of text separated by blank
lines. How do I go about spliting the input file using the blank lines
as delimiters?

my_text.split /\n\n/

Or, if you want to allow whitespace on that 'blank' line:

my_text.split /\n[ \t]*\n/
 
X

Xavier Noria

I'm trying to read in a file with blocks of text separated by blank
lines. How do I go about spliting the input file using the blank
lines
as delimiters?

If blank lines are regular:

File.foreach(fname, "\n\n") do |block|
# ... do something with block.chomp
end

Otherwise slurp the entire file and

blocks = contents.split(/\n\n+/)

-- fxn
 

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

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,057
Latest member
KetoBeezACVGummies

Latest Threads

Top