Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re: How to convert a string with regex to a string with a fixed length?

by lodin (Hermit)
on Jul 29, 2008 at 16:17 UTC ( [id://700845]=note: print w/replies, xml ) Need Help??


in reply to How to convert a string with regex to a string with a fixed length?

I don't quite understand the question. A regexp cannot change the string, it can only extract portions of the string.

If you mean an substutation and you can evaluate the substitution part (but why would you then be limited to evaluate inside a s///?), you can use the following simple technique.

s/(.*)/substr $1 . '0' x 13, 0, 13/se

You just create a new string with all the zeros you could possibly need at the end, and then take the chars from the beginning.

my @codes = ( '12345678', '1234567890123', '1234567890123456', ); my $len = 13; for my $var (@codes) { my $fixed = substr $var . '0' x $len, 0, $len; print "$fixed\n"; } __END__ 1234567800000 1234567890123 1234567890123

lodin

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others avoiding work at the Monastery: (8)
As of 2024-04-19 09:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found