Open In App

SAS | COMPRESS Function with Examples

Improve
Improve
Like Article
Like
Save
Share
Report

COMPRESS function is basically used to compress/removes all the spaces/blanks in a character string. In other words, it removes leading, between and trailing spaces from the strings.

The COMPRESS function allows null arguments. A null argument is treated as a string that features a length of zero.

Example:

Input: " Geeks For Geeks "
Output: "Geeksforgeeks"

Input: null
Output: null

Syntax:

COMPRESS(String, characters to be removed, Modifier)

Program:

  • Sample dataset:




    Data char;
    Input Name $ 1-50 ;
    Cards;
    Geeks   for Geeks
    GeeksforGeeks
    Ge   eks for  Geeks
    Geeks f   or  Geeks
    ;
    Run;

    
    

    Sample Data Output:

  • Using COMPRESS function on sample data defined above:




    Data char1;
    Set char;
    char1 = compress(Name);
    run;

    
    

    Output

  • Remove specific characters

    In SAS, the additional parameter referred to as MODIFIER was added to the function.

    The following keywords can be used as modifiers-

    • a – Remove all upper and lower case characters from String.
    • ak – Keep only alphabets from String.
    • kd – Keeps only numeric values
    • d – Remove numerical values from String.
    • i – Remove specified characters both upper and lower case from String.
    • k – keeps the specified characters in the string instead of removing them.
    • l – Remove lowercase characters from String.
    • p – Remove Punctuation characters from String.
    • s – Remove spaces from String. This is default.
    • u – Remove uppercase characters from String.

      Examples:

    • Example 1: Compressing Lowercase Letters




      data _null_;
         x='456-123-852 A 123-8910 c';
         y=compress(x, 'ABCD', 'l');
         put string=;
      run;

      
      

      Output

      string= 456-123-852 123-8910
    • Example 2: Compressing Space Characters




      data one;
         x='1 9 3 4 5 6 8';
         y=compress(x,, 's');
         put string=;
      run;

      
      

      Output

      string= 1934568
    • Example 3: Keeping Characters in the List




      data one;
         x='Chemistry A Maths B Physics C';
         y=compress(x, 'ABCD', 'k');
         put string=;
      run;

      
      

      Output

      string= ABC
    • Example 4: Compressing a String and Returning a Length of 0




      data _null_;
         x='';
         len=lengthn(compress(x));
         put len=;
      run;

      
      

      Output

      len= 0


Last Updated : 29 Jul, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads