in reply to Removing a text element from the middle of a string

Hmm. If your book told you \B matches whitespace, you'd better get a different book. I'd stick with /(Version.*?),/ as the regex, using $1 as the result.

-- Randal L. Schwartz, Perl hacker

Replies are listed 'Best First'.
RE: Re: Removing a text element from the middle of a string
by japhy (Canon) on Sep 30, 2000 at 08:58 UTC
    You went against your mantra of "down with .*" here... why not advocate using /(Version[^,]*),/ here?

    Update
    Oops, sorry Ovid. I saw it in his favorite nodes list, and thought it was his. Good rant from you. :)

    $_="goto+F.print+chop;\n=yhpaj";F1:eval
      While I will confess that I noticed that merlyn has Death to Dot Star! listed (on his home node) as one of his favorite nodes, I'm actually the one who wrote that and I occassionally get friendly grief from fellow monks for using it. :)

      (Though if merlyn rants against .*, I'd be interested in seeing the link)

      Incidentally, I'd write the regex as follows (assuming that the data is very clean):

      my $result = $1 if $string =~ /,\s([^,]+)/;
      Cheers,
      Ovid

      Update: japhy, it's an easy mistake to make. I just feel proud to have made the list :)

      Join the Perlmonks Setiathome Group or just go the the link and check out our stats.

      Or:
      /(Version.*?*),/
      Note - Depending on the data this may or may not perform worse than the previously suggested
      /(Version[^,]*,/
RE: Re: Removing a text element from the middle of a string
by Limo (Scribe) on Sep 30, 2000 at 08:57 UTC
    Oops. Clearly, I read that wrong! Thanks!