唐突ですが、Unicode General Categoryで文字列分類したいと思いました。それくらい、UnicodeData.txtをパースしてもよいのですが、せっかくなのでICUを使ってみることにしました。というわけで備忘録です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #include <unicode/uniset.h> #include <iostream> #pragma comment(lib, "icuuc.lib") int main() { UnicodeSet set; UErrorCode error = U_ZERO_ERROR; set.applyIntPropertyValue( UCHAR_GENERAL_CATEGORY, U_UPPERCASE_LETTER, error); std::cout << std::boolalpha; // true std::cout << static_cast<bool>(set.contains('A')) << std::endl; // false std::cout << static_cast<bool>(set.contains('a')) << std::endl; } |
そういえば、エラー処理を忘れていましたが、こんな感じですかね。
スポンサード リンク |
この記事のカテゴリ
- C++ ⇒ ICU入門しましょうか