僕の頁 <SASと臨床試験と雑談と>

徒然なるままにSAS暮らし

0731

NOTで始まる関数  

前回ANYで始まる関数で紹介した関数の逆バージョンである「NOTで始まる関数」で遊んでみました。その名の通り、ANYで始まる関数と逆の動きをします。つまり、「~以外の文字の最初の位置」を返してくれます。
data test ;
x="123_ - %Abc" ;
length func $12. ;

func = "NOTALNUM" ; a = NOTALNUM(x) ; output ;
func = "NOTALPHA" ; a = NOTALPHA(x) ; output ;
func = "NOTCNTRL" ; a = NOTCNTRL(x) ; output ;
func = "NOTDIGIT" ; a = NOTDIGIT(x) ; output ;
func = "NOTFIRST" ; a = NOTFIRST(x) ; output ;
func = "NOTGRAPH" ; a = NOTGRAPH(x) ; output ;
func = "NOTLOWER" ; a = NOTLOWER(x) ; output ;
func = "NOTNAME" ; a = NOTNAME(x) ; output ;
func = "NOTPRINT" ; a = NOTPRINT(x) ; output ;
func = "NOTPUNCT" ; a = NOTPUNCT(x) ; output ;
func = "NOTSPACE" ; a = NOTSPACE(x) ; output ;
func = "NOTUPPER" ; a = NOTUPPER(x) ; output ;
func = "NOTXDIGIT" ; a = NOTXDIGIT(x) ; output ;
run ;

options nocenter ;
proc print ; run ;


結果は以下になります。ANYとNOTの組み合わせで色んなことができそうですね。もちろんPerl関数もそうですが、データに格納される文字列が特定できない場合にはこういった関数は重宝しますね。
Not_func1.png
スポンサーサイト

Posted on 2015/07/31 Fri. 11:27 [edit]

CM: 0
TB: 0

プロフィール

最新記事

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

訪れた人

▲Page top