文字列の最後のnバイトを抽出する

[OS] ALL
[リリース] ALL
[キーワード] Base, SUBSTR

[質問]

文字列の先頭の何文字かを抽出するには、SUBSTR関数を利用できます。
では、文字列の最後の何文字かを抽出するにはどうすればよいでしょうか?

[回答]

文字列の最後から文字を抽出するには、文字列全体の長さを求めてからSUBSTR関数を使って最後のnバイトを抽出します。

例:文字列の最後の3文字を抽出するプログラム

%let n=3;

data aaa;
  infile cards missover;
  input name $20. ;
  ext=substr(name,length(trim(name)) -&n + 1,&n);
  put ext=;
cards;
sas.exe
sample.txt
a.lzh
aaaa.log
;
run;