Sas で compress 関数を使用する方法 (例あり)


SAS のCOMPRESS関数を使用すると、文字列から特定の文字を削除できます。

この関数は次の基本構文を使用します。

COMPRESS(文字列、削除する文字)

金:

  • String : 解析する文字列
  • 削除する文字: 文字列から削除する 1 つ以上の特定の文字

この機能を使用する最も一般的な 4 つの方法を次に示します。

方法 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: 文字列から特定の文字を削除する

次のコードは、 name列の各文字列からすべての疑問符と感嘆符を削除する方法を示しています。

 /*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: 文字列からすべての英字を削除します。

次のコードは、 name列の各文字列からすべてのアルファベット文字を削除する方法を示しています。

 /*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 機能の使用方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です