Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

How do I remove control characters?

( #164831=categorized question: print w/ replies, xml ) Need Help??
Contributed by Grunk on May 07, 2002 at 21:30 UTC
Q&A  > regular expressions


Description:

I have a korn shell at work that strips all the control characters (octal 041-176). I'm trying to write a job in perl to do the same to do some speed comparisons.

My question is, how do I specify to sub a range of octal values to a space (default)?
something like
s/!(octal value 041-176)/ /g

Answer: How do I remove control characters?
contributed by jsprat

Try perldoc perlop and look for the transliteration operator.

tr/\040-\176/ /c;
The 'c' option means complement the range.
Note: you may have to binmode the filehandle, depending on your OS.
Answer: How do I remove control characters?
contributed by tachyon

tr/// is better but all you needed to make your pseudocode real perl code was:

s/[^\040-\176]/ /g

Note that the control chars are \000 - \037 so these are perhaps more direct:

tr/\000-\037/ /; # best option for speed s/[\000-\037]/ /g # but this still works

Note chr 32 dec 040 octal is the space so you were double spacing your spaces by starting at \041

Answer: How do I remove control characters?
contributed by kgsz

For similiar problem (removing colors):

For shell:

cat something | perl -le 'while (<>) {chomp; s/[\000-\037]\[(\d|;)+m// +g; print ($_) };'

In generic:
# sth; sth; { s/[\000-\037]\[(\d|;)+m//g; } # sth else;
ANSI colors looks like :) ^[[number[;number]m - reset: ^[[m

Please (register and) log in if you wish to add an answer



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • Outside of code tags, you may need to use entities for some characters:
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others musing on the Monastery: (17)
    As of 2014-08-27 14:32 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      The best computer themed movie is:











      Results (239 votes), past polls