全角文字データから数字のみを取り出す
[OS] Windows
[リリース] 9.2以降
[キーワード] DBCS サンプルプログラム
[質問]COMPRESS関数の第三引数に KD を指定することで、文字列の中から数字のみを取り出す処理ができます。同様の処理を、全角文字を含むデータに対して行うことは可能でしょうか?
[回答]COMPRESS関数は半角文字専用の関数であるため、全角文字を含むデータに対して使用することはできません。 /* サンプルデータ */ DATA sample; INPUT col1 : $50.; DATALINES; 1 2nd 3番目 ; RUN; /* 数字のみを取り出す */ DATA result; SET sample; /* 全角と半角の数字一覧 */ numlist="12345678901234567890"; /* 数字以外の値すべて */ only_char=KCOMPRESS(col1,numlist); /* 全角と半角の数字 */ only_num=KCOMPRESS(col1,only_char); /* 全角数字を半角数字に変換する */ only_num2=KPROPCASE(only_num,"FULL-ALPHABET, HALF-ALPHABET"); PUT only_num2=; RUN; ログ出力例: only_num2=1 only_num2=2 only_num2=3
|