Skeets
7/30/2006 9:59:00 PM
William James wrote:
> Skeets wrote:
> > i'm sure this is easy, but i've gone through Pickaxe's string methods,
> > searched the web and searched the groups, and i can't figure out how to
> > do this in Ruby.
> >
> > i grep a file and it returns the following string:
> >
> > #ip 127.0.0.1
> >
> > i now want to get rid of "#ip" so i can then strip the remaining string
> > to get rid of spaces.
> >
> > however, i can't find out how to delete the 3 leftmost characters - in
> > this case "#ip".
> >
> > thanks for any tips to get this done - i would think it is a matter of
> > just knowing the correct method.
>
> irb(main):001:0> s="#ip 127.0.0.1"
> => "#ip 127.0.0.1"
> irb(main):002:0> s.slice!(0,3)
> => "#ip"
> irb(main):003:0> s
> => " 127.0.0.1"
William, thanks. when i follow your approach, i get your result via
irb. however, i get a different result when i run code in a file. i'm
doing something different, but i don't know what.
here is the code:
#!/usr/bin/env ruby
if File.exist?( "ip.txt" )
f = File.open("ip.txt').grep(/#ip/)
(f.to_s).slice!(0,3)
# f = f.strip
end
puts f # this outputs "#ip 127.0.0.1" - i was expecting it to output
"127.0.0.1"
if i have
f = (f.to_s).slice!(0,3)
instead fo
(f.to_s).slice!(0,3)
then "puts f" prints "#ip"
tia...