Sas で prxchange 関数を使用する方法 (例あり)
SAS のPRXCHANGE関数を使用すると、文字列内の特定のパターンを置換できます。
この関数は次の基本構文を使用します。
PRXCHANGE(正規表現、回数、ソース)
金:
- 正規表現: 検索するパターンを指定する正規表現
- 回: パターンを検索して置換するために置換する回数 (ソースの終わりに達するまでパターンの置換を続けるには-1を使用します)
- source : 検索する変数の名前
次の例は、SAS の次のデータセットで実際にこの関数を使用する 2 つの一般的な方法を示しています。
/*create dataset*/
data my_data;
input phrase $char40. ;
datalines ;
This is a cool name
That is a cool cool zebra
Oh hey there
Oh cool it's a cool-looking dog
Well now that is COOL
;
run ;
/*view dataset*/
proc print data =my_data;
例 1: PRXCHANGE を使用して文字列内のパターンを新しいパターンに置き換えます
次のコードは、 PRXCHANGE関数を使用して、 phrase列内の各「cool」を「fun」に置き換えるnew_phraseという新しい列を作成する方法を示しています。
/*create new dataset*/
data new_data;
set my_data;
new_phrase = prxchange ('s/cool/fun/i', -1, phrase);
run ;
/*view new dataset*/
proc print data = new_data;
すべての「クール」が「楽しい」に置き換えられていることに注意してください。
正規表現でsを使用して置換を実行することを指定し、 iを使用して大文字と小文字を区別しないことを指定していることに注意してください。
例 2: PRXCHANGE を使用して文字列内のパターンを空白に置き換えます
次のコードは、 PRXCHANGE関数を使用して、 phrase列内の各 “cool” をスペースに置き換えるnew_phraseという新しい列を作成する方法を示しています。
/*create new dataset*/
data new_data;
set my_data;
new_phrase = prxchange ('s/cool//i', -1, phrase);
run ;
/*view new dataset*/
proc print data = new_data;
「cool」はすべてスペースに置き換えられていることに注意してください。
追加リソース
次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。
SAS で文字列から数値を抽出する方法
SAS の文字列からカンマを削除する方法
SAS で文字列を区切り文字で分割する方法