in reply to number of numbers in a string

(Count *numerals*, you mean. You have two numbers there, or possibly many more if you allow for substrings.)

$foo = "spider9832man23"; print "count = " . $foo =~ y/0-9//;

Replies are listed 'Best First'.
Re^2: number of numbers in a string
by Plankton (Vicar) on Aug 12, 2004 at 18:04 UTC
    Hmm... this could be an interesting question if we where try to count the numbers ... you know 9832 is a number 832 is too and so is 32 and 2 and 983. What'cha think?

    Plankton: 1% Evil, 99% Hot Gas.
      Accounting only for integers, we have:
      my $n = 0; $n += map .5*(1+length)*length, $s =~ /\d+/g;
      This makes use of the triangular pattern that the number "1234" has 10 "embedded numbers" (1234, 123, 12, 1, 234, 23, 2, 34, 3, 4). No need to put all that hard work in the regex itself. Although, if you wanted to, it'd be:
      our $n; $s =~ /\d+(??{ ++$n })(?!)/;
      _____________________________________________________
      Jeff japhy Pinyan, P.L., P.M., P.O.D, X.S.: Perl, regex, and perl hacker
      How can we ever be the sold short or the cheated, we who for every service have long ago been overpaid? ~~ Meister Eckhart