Sas で substr 関数を使用する方法 (例付き)


SAS のSUBSTR関数を使用して、文字列の一部を抽出できます。

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

SUBSTR(ソース、位置、N)

金:

  • ソース: 分析するチャネル
  • Position : 読み取りの開始位置
  • N : 読み込む文字数

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

方法 1: 文字列から最初の N 文字を抽出する

 data new_data;
    set original_data;
    first_four = substr (string_variable, 1 , 4 );
run ;

方法 2: 文字列から特定の位置範囲の文字を抽出する

 data new_data;
    set original_data;
    two_through_five = substr (string_variable, 2 , 4 );
run ;

方法 3: 文字列から最後の N 文字を抽出する

 data new_data;
    set original_data;
    last_three = substr (string_variable, length (string_variable)- 2 , 3 );
run ;

方法 4: 文字列に文字が存在する場合に新しい変数を作成する

 data new_data;
    set original_data;
    if substr (string_variable, 1 , 4 ) = ' some_string ' then new_var = ' Yes ';
    else new_var = ' No ';
run ;

次の例は、SAS の次のデータセットで各メソッドを使用する方法を示しています。

 /*create dataset*/
data original_data;
    input team $1-10;
    datalines ;
Warriors
Wizards
Rockets
Celtics
Thunder
;
run ;

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

例 1: 文字列から最初の N 文字を抽出する

次のコードは、チーム変数から最初の 4 文字を抽出する方法を示しています。

 /*create new dataset*/
data new_data;
    set original_data;
    first_four = substr (team, 1 , 4 );
run ;

/*view new dataset*/
proc print data = new_data;

first_four変数にはチーム変数の最初の 4 文字が含まれることに注意してください。

例 2: 文字列から特定の位置範囲の文字を抽出する

次のコードは、チーム変数の位置 2 ~ 5 から文字を抽出する方法を示しています。

 /*create new dataset*/
data new_data;
    set original_data;
    two_through_five = substr (team, 2 , 4 );
run ;

/*view new dataset*/
proc print data = new_data;

例 3: 文字列から最後の N 文字を抽出する

次のコードは、チーム変数から最後の 3 文字を抽出する方法を示しています。

 /*create new dataset*/
data new_data;
    set original_data;
    last_three = substr (team , length (team) -2,3 );
run ;

/*view new dataset*/
proc print data = new_data; 

例 4: 文字列に文字が存在する場合に新しい変数を作成する

次のコードは、チーム名の最初の文字が「W」の場合は「 yes 」、最初の文字が「W」でない場合は「 no 」と評価されるW_Teamという新しい変数を作成する方法を示しています。

 /*create new dataset*/
data new_data;
    set original_data;
    if substr (team, 1 , 1 ) = ' W ' then W_Team = ' Yes ';
else W_Team = ' No ';
run ;

/*view new dataset*/
proc print data = new_data; 

追加リソース

次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。

SAS でデータを正規化する方法
SAS で文字列内の文字を置換する方法
SAS で欠損値をゼロに置き換える方法
SAS で重複を削除する方法

コメントを追加する

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