我正在使用SAS中的notalnum功能。输入是db字段。现在,该函数返回一个值,告诉我每个字符串的末尾都有一个特殊字符。 它不是空格字符,因为我在输入字段上使用了COMPRESS函数。
如何在每个字符串的末尾打印特殊字符的ACII值?
答案 0 :(得分:1)
$ HEX。格式是查看它们的最简单方法:
data have;
var="Something With A Special Char"||'0D'x;
run;
data _null_;
set have;
rul=repeat('1 2 3 4 5 6 7 8 9 0 ',3); *so we can easily see what char is what;
put rul=;
put var= $HEX.;
run;
您还可以使用压缩(c
)上的var=compress(var,,'c');
选项来压缩控制字符(这些字符通常是您在这些情况下遇到的控制字符)。
最后 - '如果您的数据来自网络,则A0' x是一个很好的添加到列表中的空间,即非破坏空间。
答案 1 :(得分:0)
如果要查看ascii表中字符的位置,可以使用rank()
函数,例如:
data _null_;
string = 'abc123';
do i = 1 to length(string);
asc = rank(substr(string,i,1));
put i= asc=;
end;
run;
给出:
i=1 asc=97
i=2 asc=98
i=3 asc=99
i=4 asc=49
i=5 asc=50
i=6 asc=51
Joe的解决方案非常优雅,但看到我的十六进制和十进制转换技能相当差,我倾向于这样做。