----- Original Message ----- From: "Naresh Bajaj" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Wednesday, March 22, 2006 2:28 AM
Subject: Extracting numbers from a string


Hello all,
I have one string PT2H46M7.815S.
It is in hours, minutes and seconds. I want to extract number between
the alphabets and
stored in seconds. How should I approach this problem.
Right now I am using the split command which is not much elegant way.
Crude method:
extractinterval(PT7.815S)
sub extractinterval{
my $interval =$_[0];
my @temp =split //,$interval;
       my $output = $temp[2].$temp[3].$temp[4].$temp[5];
}
Is there any other way of doing.
Thanks,
Naresh

my $time=extractinterval("PT2H46M7.815S");

sub extractinterval {
   my $string=shift;
   $string =~  /^\D*(\d*)H(\d*)M([\d\.]*)S$/;
   return ($3 + ($2*60) + ($1*3600));
   }


Tested ;-)

Petr Vileta, Czech republic
(My server reject all messages from Yahoo and Hotmail. Send me your mail from another non-spammer site please.)


_______________________________________________
ActivePerl mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to