Sas에서 compress 함수를 사용하는 방법(예제 포함)
SAS의 COMPRESS 함수를 사용하여 문자열에서 특정 문자를 제거할 수 있습니다.
이 함수는 다음 기본 구문을 사용합니다.
COMPRESS(문자열, 제거할 문자)
금:
- String : 구문 분석할 문자열
- 제거할 문자 : 문자열에서 제거할 하나 이상의 특정 문자
이 기능을 사용하는 가장 일반적인 네 가지 방법은 다음과 같습니다.
방법 1: 문자열에서 공백을 모두 제거합니다.
data new_data;
set original_data;
compressed_string = compress (string_variable);
run ;
방법 2: 문자열에서 특정 문자 제거
data new_data;
set original_data;
compressed_string = compress (string_variable, ' !?@# ');
run ;
방법 3: 문자열에서 모든 영문자를 제거합니다.
data new_data;
set original_data;
compressed_string = compress (string_variable, '', ' a ');
run ;
방법 4: 문자열에서 모든 숫자 값 제거
data new_data;
set original_data;
compressed_string = compress (string_variable, '', ' d ');
run ;
다음 예에서는 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;
예시 1: 문자열에서 모든 공백 제거
다음 코드는 이름 열의 각 문자열에서 공백을 모두 제거하는 방법을 보여줍니다.
/*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;
table_name 이라는 새 열의 각 문자열에서 모든 공백이 제거되었습니다.
예시 2: 문자열에서 특정 문자 제거
다음 코드는 이름 열의 각 문자열에서 모든 물음표와 느낌표를 제거하는 방법을 보여줍니다.
/*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;
table_name 이라는 새 열의 각 문자열에서 모든 물음표와 느낌표가 제거되었습니다.
예시 3: 문자열에서 모든 알파벳 문자 제거
다음 코드는 이름 열의 각 문자열에서 모든 알파벳 문자를 제거하는 방법을 보여줍니다.
/*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;
table_name 이라는 새 열의 각 문자열에서 모든 알파벳 문자가 제거되었습니다.
예시 4: 문자열에서 모든 숫자 값 제거
다음 코드는 이름 열의 각 문자열에서 모든 숫자 값을 제거하는 방법을 보여줍니다.
/*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;
table_name 이라는 새 열의 각 문자열에서 모든 숫자 값이 제거되었습니다.
추가 리소스
다음 튜토리얼에서는 SAS에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
SAS에서 SUBSTR 함수를 사용하는 방법
SAS에서 FIND 함수를 사용하는 방법
SAS에서 COALESCE 함수를 사용하는 방법