僕の頁 <SASと臨床試験と雑談と>
徒然なるままにSAS暮らし
----
スポンサーサイト 
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
新しい記事を書く事で広告が消せます。
Posted on --/--/-- --. --:-- [edit]
CM: --
TB: --
TB: --
0731
NOTで始まる関数 
前回ANYで始まる関数で紹介した関数の逆バージョンである「NOTで始まる関数」で遊んでみました。その名の通り、ANYで始まる関数と逆の動きをします。つまり、「~以外の文字の最初の位置」を返してくれます。
結果は以下になります。ANYとNOTの組み合わせで色んなことができそうですね。もちろんPerl関数もそうですが、データに格納される文字列が特定できない場合にはこういった関数は重宝しますね。

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関数もそうですが、データに格納される文字列が特定できない場合にはこういった関数は重宝しますね。

スポンサーサイト
Posted on 2015/07/31 Fri. 11:27 [edit]
« p r e v | h o m e | n e x t » |