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

时间:2016-02-13 12:30:41

标签: utf-8 sas string-function

我想检查一些字母是否属于俄语字母。我可以用西里尔字母直接比较来做到这一点:

letter in ('А', 'Б', 'В', 'Г', 'Д', 'Ж', ...)

有一些更简单的方法吗?例如。对于英文字母,我可以使用rank()函数:

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

但是此功能不适用于UTF-8编码。如何在UTF-8表中获得该字母的位置?

2 个答案:

答案 0 :(得分:2)

我相信你可以使用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

答案 1 :(得分:2)

您应该能够使用repaint格式识别原始字节码,然后根据该格式进行验证(请参阅this one之类的表格以查看西里尔字母的值)。

例如,使用Dom的例子:

$HEX.