Removing dashes and parentheses from phone numbers

Removing dashes and parentheses from phone numbers is one of the common data cleaning activities. This program uses the compress function to remove unwanted characters from a phone number.

data phone_number;
	input Phone $ 1-20;
	Phone_number=compress(Phone, , 'kd');
    (201) 555-77 99
	title 'Removing dashes and parentheses from phone numbers';

proc print data=phone_number;

The key to this program is the COMPRESS function with the two modifiers ‘k’ (keep) and ‘d’ (digits) as the third argument to the function.

The two modifiers k (keep) and d (digits) are used to keep all the digits in the PHONE value and remove everything else. Note that there are two commas following the first argument. If you used only one comma here, SAS would think you wanted to remove k’s and d’s from the PHONE value.

Removing dashes and parentheses from phone numbers

Every week we'll send you SAS tips and in-depth tutorials


Subhro Kar is an Analyst with over five years of experience. As a programmer specializing in SAS (Statistical Analysis System), Subhro also offers tutorials and guides on how to approach the coding language. His website, 9to5sas, offers students and new programmers useful easy-to-grasp resources to help them understand the fundamentals of SAS. Through this website, he shares his passion for programming while giving back to up-and-coming programmers in the field. Subhro’s mission is to offer quality tips, tricks, and lessons that give SAS beginners the skills they need to succeed.