2

C++指定された Unicode ポイントが文字かどうかを判断する関数はありますか? \p{L}正規表現でよく説明されるものを意味します。したがって、句読点や数字などとは対照的に、ラテン語、ギリシャ語、キリル文字、またはその他の文字である可能性があります。Unicode では、他のいくつかの大きなコード ポイント範囲によっても表現されます。

だから私はこれに似た機能を求めています:

bool isUnicodeLetter(int32 codepoint);

たぶんブーストまたはICUライブラリにありますか?

4

1 に答える 1

3

ICU4C では、関数は次のように呼び出されu_isalpha()ます。

UBool u_isalpha(UChar32 c)

指定されたコード ポイントが文字かどうかを判断します。

一般カテゴリ "L" (文字) の場合は true。

ただし、誤用しやすいので注意が必要です。u_isalpha()の他の関数は、uchar.hUnicode 文字データへの低レベル アクセスを提供するように設計されています。

于 2012-08-24T23:53:15.063 に答える