Get rid of extra, blank lines via html parsing?

So I am trying to get some information from a snippet of html
(http://pastebin.com/iTXyxQ0j), and im using doc.inner_text to get the
important parts, but when I do so I get an odd amount of spacing
(http://pastebin.com/6HWDs5dm). is there a way where I can get rid of
all that extra spacing so I can just print the output and it looks
clean? possibly something like

pino
0.2.11-ubuntu0~lucid
troorl
(2010-07-04)

pino
0.2.10-ubuntu0~karmic
troorl
(2010-05-27)

that? or can i get each piece of text and add it to an array? if i do
that while its got all that odd spacing, is that spacing a piece of the
variable? or is it juts the text?

thanks guys!

On Wed, Aug 4, 2010 at 6:29 AM, David A. [email protected]
wrote:

(2010-07-04)

pino
0.2.10-ubuntu0~karmic
troorl
(2010-05-27)

that? or can i get each piece of text and add it to an array? if i do
that while its got all that odd spacing, is that spacing a piece of the
variable? or is it juts the text?

You can remove 2 or more consecutive “\n” like this:

irb(main):001:0> s =<<EOS
irb(main):002:0" test
irb(main):003:0"
irb(main):004:0" test2
irb(main):005:0" sdfsdf
irb(main):006:0" werwer
irb(main):007:0"
irb(main):008:0"
irb(main):009:0"
irb(main):010:0"
irb(main):011:0" sdfsdfsd
irb(main):012:0" sdfer234
irb(main):013:0" EOS
=> “test\n\ntest2\nsdfsdf\nwerwer\n\n\n\n\nsdfsdfsd\nsdfer234\n”
irb(main):019:0> s.gsub /\n\n+/, “\n”
=> “test\ntest2\nsdfsdf\nwerwer\nsdfsdfsd\nsdfer234\n”

or

irb(main):020:0> s.gsub /\n{2,}/, “\n”
=> “test\ntest2\nsdfsdf\nwerwer\nsdfsdfsd\nsdfer234\n”

Hope this helps,

Jesus.

Use the String methods: s. strip!, s.gsub! and s.squeeze as in
the following snippet:

no-white.rb - remove empty lines and sequences of blanks

from a text file

fh = File.open(‘6HWDs5dm.txt’)
while( !fh.eof)
line = fh.readline.chomp
# remove leading and trailing blanks
line.strip!
# skip empty lines
next if line == ‘’
# convert tab chars to blanks
line.gsub!(/\t/,’ ‘)
# substitute a single blank for a sequence of blanks
line.squeeze!(’ ')
# add code to process line if needed
puts line
end
fh.close
exit(0)

HTH gfb
“David A.” [email protected] wrote in message
news:[email protected]

Hey guys, thanks for the responses. Jesus, the gsubs don’t do anything
:/, the output still looks the same.

And Gianfranco, everytime I try to use readline, it gives me an error
“private method `readline’ called for #String:0xb71c3fd8
(NoMethodError)”

On Wed, Aug 4, 2010 at 4:18 PM, David A. [email protected]
wrote:

Hey guys, thanks for the responses. Jesus, the gsubs don’t do anything
:/, the output still looks the same.

And Gianfranco, everytime I try to use readline, it gives me an error
“private method `readline’ called for #String:0xb71c3fd8
(NoMethodError)”

Can you show your code?

Jesus.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs