Simple code

hi

#!/usr/bin/ruby -w
re=Regexp.new(’\s+[A-Z]’)
puts " {| class=“wikitable”
|-
Table – put your title here
|-"
while line = gets
md=re.match(line)
if md =~ nil
else
puts md
end
end

I input the text as

COM - Commercial
EDU - Educational
GOV - Povernment
NET - Network
MIL - Military
ORG - Non-profit organisations

and I get the result as

{| class=“wikitable”
|-
Table – put your title here
|-
nil
C
E
G
N
M
O
nil

How do I prevent the nil appearing?
How do I access each matchdata with the postmatchdata on each line?

DavidR

On Oct 19, 2007, at 09:45, [email protected] wrote:

while line = gets
md=re.match(line)
if md =~ nil

Try “if md.nil?” instead.

else
puts md

puts md, md.post_match

Ben G. wrote:

On Oct 19, 2007, at 09:45, [email protected] wrote:

while line = gets
md=re.match(line)
if md =~ nil

Try “if md.nil?” instead.

if md
#do stuff

else
puts md

puts md, md.post_match

puts line

Try this:

re=Regexp.new(’^\s+[A-Z]’) #match start of line only


while line = gets
md=re.match(line)

if md
puts line
end

end

On Oct 19, 8:44 am, “[email protected]
[email protected] wrote:

if md =~ nil
NET - Network
C
DavidR
re = /\s+[A-Z]/

puts ’ {| class=“wikitable”
|-
Table – put your title here
|-’

while line = gets
puts line if line =~ re
end

On Oct 19, 8:44 am, “[email protected]
[email protected] wrote:

if md =~ nil
NET - Network
C
DavidR
#!awk -f

BEGIN {
print " {| class=“wikitable”
|-
Table – put your title here
|-" }

/[ \t]+[A-Z]/

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