Objective-C において Unicodeの文字列に日本語がはいっているかどうか正確に判定したいのですが、ライブラリや方法が載っているサイトを紹介してください。

英語でもOKです。

回答の条件
  • URL必須
  • 1人10回まで
  • 13歳以上
  • 登録:2012/03/18 19:20:06
  • 終了:2012/03/25 19:25:02

回答(2件)

id:Cherenkov No.1

Cherenkov回答回数1502ベストアンサー獲得回数4922012/03/18 19:40:22

ポイント250pt

Objective-Cで正規表現を使う その1 - As Sloth As Possible
iOS 3.2以降はNSRegularExpressionSearch、iOS 4以降はNSRegularExpressionが使えます。

ライブラリを用いる方法:
iPhoneアプリで正規表現を使う - 24/7 twenty-four seven
を参考に RegexKitLite を導入する。


日本語判定:

/[ー、。]|[ぁ-ヶ]|[々〇\u303B\u3400-\u9FFF\uF900-\uFAFF]|[\uD840-\uD87F][\uDC00-\uDFFF]/
上のを16進にしたもの
/[\u30FC\u3001\u3002]|[\u3041-\u30F6]|[\u3005\u3007\u303B\u3400-\u9FFF\uF900-\uFAFF]|[\uD840-\uD87F][\uDC00-\uDFFF]/
全角のひらがなカタカナ、漢字、その他 にマッチするか判定。

その他:
ー: \u30FC
、: \u3001
。: \u3002
ぁ: \u3041
ヶ: \u30F6
々: \u3005
〇: \u3007
漢字の踊り字: \u303B

Source for ”goodbye japanese” - Userscripts.org

日本語をブラックリストにするよりも英数字ならOKといったホワイトリストな実装の方がいいと思いますが。

id:DaVinciWare

ありがとうございます。参考にします。

2012/03/21 22:25:04
id:mario-16 No.2

蝸牛角上争何事回答回数219ベストアンサー獲得回数212012/03/25 17:49:45

ポイント250pt

質問でおっしゃられている「日本語」が所謂全角文字なのかキリル文字やハングル文字を日本語以外とするのかが分からなかったのですが全角かどうかの判定という意味では以下のページが参考になるかと思います。
NSStringの全角/半角バリデーションチェック - Over&Out その後

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません