Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re: Splitting two digits

by fredopalus (Friar)
on Jan 08, 2003 at 04:24 UTC ( [id://225179]=note: print w/replies, xml ) Need Help??


in reply to Splitting two digits

You could try:
$text="20"; $field[0] = substr($text, 0,1); $field[1] = substr($text, 1,2);

Notice that i use $field[0] instead of @field[0]. This is because you're only referring to a single element in the array, and not to the entire array.

Replies are listed 'Best First'.
Re^2: Splitting two digits
by Ionizor (Pilgrim) on Jan 08, 2003 at 18:04 UTC

    I knew there was a better way. Here's a general function for splitting the first n characters of a string into an array, trapping to make sure they are digits:

    my @field; # Set to desired number of chars or switch for next line # if you want the whole string. my $numchars = 2; # my $numchars = length($text); for(my $i = 0; $i < $numchars; $i++) { my $curchar = substr($text, $i, 1); if ($curchar =~ /\d/) { push @field, $curchar; } }

    Also, substr($text, 1,2); should be substr($text, 1,1); in the above.

    --
    Grant me the wisdom to shut my mouth when I don't know what I'm talking about.

      Why not combine the various answers in this thread? :)

      my @digits = grep /\d/, split //, substr($str, 0, $len);

      However, I'd probably do

      my @digits = substr($str, 0, $len) =~ /\d/g;

      ihb

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://225179]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having an uproarious good time at the Monastery: (4)
As of 2024-04-20 14:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found