2014年3月4日火曜日

半角スペースを取り除いてくれる関数達




余計な半角スペース(空白)を削除する方法をいくつか紹介。





📝今回紹介する関数の中で「STRIP関数」と「COMPRESS関数」は日本語等のマルチバイト文字に対応していないので注意!
(バージョンによってマルチバイトへの対応が変わっているので詳細はリファレンスを参照下さい)

data DT1;
    VAR1 = " a   b";

    * ① 両端の半角スペースを除去 ;
    A = stripVAR1 );

    * ② 連続する半角スペースを1つの半角スペースに置換 ;
    B = compbl( VAR1 );

    * ③ 全ての半角スペースを除去 ;
    C = compress( VAR1 );
run;

結果
VAR1 a   b
Aa   b
B a b
Cab



私自身は、①のSTRIP関数の代わりに「cats(VAR1)」と書いたりしてます。
CATS関数は変数や文字の値を連結してくれる関数です。
連結する際に、各引数の両端の半角スペースを除去してくれます。

cats(" a ",  " b c ",  " d ") → "ab cd"

「cats(VAR1)」と書くと、単純に両端の半角スペースを取り除いてくれるだけなので、使い勝手がよい関数です。


注意点

以下の記事で触れていますが、末尾の半角スペースを取り除いても、その結果を変数に格納した時点で、結局末尾に半角スペースが入ってしまうんで、そこの取り扱いだけ注意。

0 件のコメント:

コメントを投稿