2

是否有C++可用的函数来确定给定的 Unicode 点是否是字母?我的意思是通常\p{L}在正则表达式中描述的内容。因此,它可以是拉丁文、希腊文、西里尔文或其他字母,而不是标点符号、数字等,在 unicode 中也可以由其他几个大代码点范围表示。

所以我要求的功能类似于:

bool isUnicodeLetter(int32 codepoint);

也许在 boost 或 ICU 库中?

4

1 回答 1

3

在 ICU4C 中,该函数被调用u_isalpha()

UBool u_isalpha(UChar32 c)

确定指定的代码点是否为字母字符。

适用于一般类别“L”(字母)。

但是使用时要小心,因为它很容易被误用。u_isalpha()中的其他函数uchar.h仅旨在提供对 Unicode 字符数据的低级访问。

于 2012-08-24T23:53:15.063 回答