Home » How to Use the COMPRESS Function in SAS (With Examples)

How to Use the COMPRESS Function in SAS (With Examples)

by Tutor Aspire

You can use the COMPRESS function in SAS to remove specific characters from a string.

This function uses the following basic syntax:

COMPRESS(String, characters to be removed)

where:

  • String: The string to analyze
  • characters to be removed: One or more specific characters to remove from string

Here are the four most common ways to use this function:

Method 1: Remove All Blank Spaces from String

data new_data;
    set original_data;
    compressed_string = compress(string_variable);
run;

Method 2:Remove Specific Characters from String

data new_data;
    set original_data;
    compressed_string = compress(string_variable, '!?@#');
run;

Method 3: Remove All Alphabetical Characters from String

data new_data;
    set original_data;
    compressed_string = compress(string_variable, '', 'a');
run;

Method 4: Remove All Numeric Values from String

data new_data;
    set original_data;
    compressed_string = compress(string_variable, '', 'd');
run;

The following examples show how to use each method with the following dataset in SAS:

/*create dataset*/
data original_data;
    input name $25.;
    datalines;
Andy Lincoln4 Bernard!
Barren Michael55 Smith!
Chad Simpson7 Arnolds?
Derrick Parson2 Henry
Eric Miller2 Johansen!
Frank Giovanni5 Goode
;
run;

/*view dataset*/
proc print data=original_data;

Example 1: Remove All Blank Spaces from String

The following code shows how to remove all blank spaces from each string in the name column:

/*remove blank spaces from each string in name column*/
data new_data;
    set original_data;
    compressed_name = compress(name);
run;

/*view results*/
proc print data=new_data;

Notice that all blank spaces have been removed from each string in the new column called compressed_name.

Example 2: Remove Specific Characters from String

The following code shows how to remove all question marks and exclamation points from each string in the name column:

/*remove question marks and exclamation points from each string in name column*/
data new_data;
    set original_data;
    compressed_name = compress(name, '?!');
run;

/*view results*/
proc print data=new_data;

Notice that all question marks and exclamation points have been removed from each string in the new column called compressed_name.

Example 3: Remove All Alphabetical Characters from String

The following code shows how to remove all alphabetical characters from each string in the name column:

/*remove all alphabetical characters from each string in name column*/
data new_data;
    set original_data;
    compressed_name = compress(name, '', 'a');
run;

/*view results*/
proc print data=new_data;

Notice that all all alphabetical characters have been removed from each string in the new column called compressed_name.

Example 4: Remove All Numeric Values from String

The following code shows how to remove all numeric values from each string in the name column:

/*remove all numeric values from each string in name column*/
data new_data;
    set original_data;
    compressed_name = compress(name, '', 'd');
run;

/*view results*/
proc print data=new_data;

Notice that all all numeric values have been removed from each string in the new column called compressed_name.

Additional Resources

The following tutorials explain how to perform other common tasks in SAS:

How to Use the SUBSTR Function in SAS
How to Use the FIND Function in SAS
How to Use the COALESCE Function in SAS

You may also like