是否有C++
可用的函数来确定给定的 Unicode 点是否是字母?我的意思是通常\p{L}
在正则表达式中描述的内容。因此,它可以是拉丁文、希腊文、西里尔文或其他字母,而不是标点符号、数字等,在 unicode 中也可以由其他几个大代码点范围表示。
所以我要求的功能类似于:
bool isUnicodeLetter(int32 codepoint);
也许在 boost 或 ICU 库中?
在 ICU4C 中,该函数被调用u_isalpha()
:
UBool u_isalpha(UChar32 c)
确定指定的代码点是否为字母字符。
适用于一般类别“L”(字母)。
但是使用时要小心,因为它很容易被误用。u_isalpha()
中的其他函数uchar.h
仅旨在提供对 Unicode 字符数据的低级访问。