Study SAS

統計解析ソフトウェアSASについて学習したことのまとめやSAS認定試験対策など

マルチバイト文字を含む文字列の文字数カウント

日本語を含む文字列に対してlength関数を使用すると、日本語文字が2文字分としてカウントされる。

data temp;
    input text $32.;
    infile datalines truncover;
    text_len = length(text);
    datalines;
ABCDE
あいうえお
あ い う
あ い う え お
あいうabcかきく
    ;
run;
text text_len
ABCDE 5
あいうえお 10
あ い う 10
あ い う え お 14
あいうabcかきく 15


日本語を含む文字列の場合、2バイト文字に対応したklength関数を使う

data temp;
    input text $32.;
    infile datalines truncover;
    text_len = klength(text);
    datalines;
ABCDE
あいうえお
あ い う
あ い う え お
あいうabcかきく
    ;
run;
text text_len
ABCDE 5
あいうえお 5
あ い う 5
あ い う え お 9
あいうabcかきく 9