On Jul 25, 7:05 pm, Phrogz <phr... / mac.com> wrote:
> On Jul 25, 4:59 pm, scomb... / gmail.com wrote:
>
> > For example if I have a file called filename.txt and I want to search
> > for this --->   "Compression                     : JPEG (old-style)"
> > but only return everything to the right of the delimitator?
>
> C:\>irb
> irb(main):001:0> s = "Foo   :  Bar"
> => "Foo   :  Bar"
> irb(main):002:0> s.split ":"
> => ["Foo   ", "  Bar"]
> irb(main):003:0> s.split(":").last
> => "  Bar"
>
> ...or did you want the leading whitespace chomped?
>
> irb(main):004:0> s.split( /\s*:\s*/ )
> => ["Foo", "Bar"]
> irb(main):005:0> s.split( /\s*:\s*/ ).last
> => "Bar"


Some of the text I'm grabbing can contain  additional
colons and I want everything after the first one.

SC
I am assuming you want everything after the first colon but not after
the second

irb(main):001:0> line = "Compression   : JPEG (old_style) : whatever"
=> "Compression   : JPEG (old_style) : whatever"
irb(main):002:0> if line =~ /^Compression\s*:?(.*)$/
irb(main):003:1> end_str = $1
irb(main):004:1> first_el = end_str.split(/:/).first
                 puts first_el
irb(main):005:1> end
 JPEG (old_style)

if you everything after each colon

el = end_str.split(/:/)

p el = {"JPEG (old-style)", "whatever"]