Utf 8 检查一些字母是否属于俄语字母表

Utf 8 检查一些字母是否属于俄语字母表,utf-8,sas,string-function,Utf 8,Sas,String Function,我想确认一些字母属于俄语字母表。我可以用西里尔字母直接比较: letter in ('А', 'Б', 'В', 'Г', 'Д', 'Ж', ...) 有没有更简单的方法?例如,对于英语字母表,我可以使用rank()函数: rank('A') <= rank(letter) <= rank('z') rank('A')我相信您可以使用BASECHAR功能。这将把字符转换为unicode转义 data test; input char $; datalines; Б Г Д Ж

我想确认一些字母属于俄语字母表。我可以用西里尔字母直接比较:

letter in ('А', 'Б', 'В', 'Г', 'Д', 'Ж', ...)
有没有更简单的方法?例如,对于英语字母表,我可以使用rank()函数:

rank('A') <= rank(letter) <= rank('z')

rank('A')我相信您可以使用
BASECHAR
功能。这将把字符转换为unicode转义

data test;
input char $;
datalines;
Б
Г
Д
Ж
a
b
c
;
run;

data test;
set test;
ok = (char=basechar(char,'ESC'));
put char= ok=;
run;
返回:

char=Б ok=0
char=Г ok=0
char=Д ok=0
char=Ж ok=0
char=a ok=1
char=b ok=1
char=c ok=1

您应该能够使用
$HEX.
格式识别原始字节码,然后根据该格式进行验证(请参阅类似表格以查看哪些值是西里尔字母)

例如,使用Dom的示例:

data test;
input char $;
put char= $HEX4.;
datalines;
Б
Г
Д
Ж
a
b
c
;
run;

谢谢你的建议,乔!但是,这不会识别字符是否在俄语字母表中,对吗?只是识别它不是基本编码中的字符?(这很可能适用于手头的案件,只是想值得一提的是它实际上在做什么。)