Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re^2: Filtering unwanted chars from input field

by johngg (Abbot)
on Dec 17, 2012 at 21:02 UTC ( #1009230=note: print w/replies, xml ) Need Help??


in reply to Re: Filtering unwanted chars from input field
in thread Filtering unwanted chars from input field

Instead of spliting and greping it might be simpler to use tr (see Quote and Quote like Operators).

$ perl -E ' > @data = ( > q{Hello, world!}, > q{te-st%$/*.}, > q{All_of_this_is_OK.}, > q{!@#$%^&*()12345}, > ); > say for map { tr{A-Za-z0-9_.}{}cd; $_ } @data;' Helloworld test. All_of_this_is_OK. 12345 $

I hope this is of interest.

Cheers,

JohnGG

Replies are listed 'Best First'.
Re^3: Filtering unwanted chars from input field
by Kenosis (Priest) on Dec 17, 2012 at 21:10 UTC

    Thank you, johngg. Not sure why I complicated it. Yours is, indeed, a more elegant and readable solution (++). Was brought back to this node after the following should-have-done-this-in-the-first-place solution occurred to me:

    $str =~ s/[^$acceptable]//gi;

    Edited my original comment to reflect this...

Re^3: Filtering unwanted chars from input field
by Anonymous Monk on Dec 18, 2012 at 14:01 UTC
    Would I be breaking the law by allowing a "-" and updating the code to:
    sub filter { my $str = shift; defined $str or return ''; $str =~tr{A-Za-z0-9_.-}{}cd; return $str; }

      That will work ok.

      $ perl -E ' > @data = ( > q{Hello, world!}, > q{te-st%$/*.}, > q{All_of_this_is_OK.}, > q{!@#$%^&*()12345}, > ); > say for map { tr{A-Za-z0-9_.-}{}cd; $_ } @data;' Helloworld te-st. All_of_this_is_OK. 12345 $

      Cheers,

      JohnGG

        What is I want to allow spaces as well? \s+ does not work.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1009230]
help
Chatterbox?
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (6)
As of 2017-07-20 18:49 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    I came, I saw, I ...
























    Results (313 votes). Check out past polls.