- - PR -
ひらがな、漢字の区別について。
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2002-11-07 14:00
VB.NETでもC#のどちらでもいいのですが、
入力された文字が、ひらがなや漢字を区別したいのですが、 わかりません。 その方法はどうすればよろしいのでしょうか? ご存知の方がおられましたらどうか教えてください。 | ||||||||
|
投稿日時: 2002-11-07 15:54
こんにちは、mituoさん。
ひらがな、漢字などの文字種別判定をご希望との事ですが、 正規表現を利用すれば判定可能です。 ****************************************************************** もっと簡単な方法がある場合は、どなたかフォローお願いします。 私もぜひ知りたいので・・・ ![]() なお、正規表現ってなに?というご質問は、あらかじめギブアップ宣言を 行っておきます。ごめんなさい。(^-^;; ****************************************************************** if(System.Text.RegularExpressions.Regex.IsMatch(文字列, パターン)){ //OK }else{ //NG } っていうイメージなのですが、.NETの正規表現ライブラリは、 XMLSchemaの正規表現に準拠しているようです。 XMLSchemaの正規表現はUniCodeのブロックの判定などに対応しています。 よって、下記のような表現が可能です。 \p{Isブロック名} 例として、ひらがなチェックであれば下記のようなパターンでOKだと 思います。 "^\p{IsHiragana}+$" (一応下記のURLでブロックに含まれている文字を確認してみてください) ブロックと文字の対応は下記のURLを参照してください。 http://www.unicode.org/charts/ そして、そのブロックを正規表現で利用するときのブロック名は下記の URLを参照してください。 http://www.w3.org/TR/xmlschema-2/ 漢字判定に関しては、日本人が利用する一般的な漢字を網羅している ブロックが良くわからないので、どなたかフォローお願いします。(^-^;; (IsCJKUnifiedIdeographsかな?無責任だなぁ。) 余談ですが、.NETの正規表現とJavaScriptの正規表現は記述方式が違います。 (VisualStudioもちがいますが・・・) つまり、JavaScriptでは\p{IsKatakana}などのパターンが利用できません。 クライアントサイドでカタカナチェックが行いたい時に、 RegularExpressionValidatorに\p{IsKatakana}を指定しても正しく動作 しませんので、ご注意ください。 こういうケースの場合はCustomValidatorを利用して、クライアントサイドと サーバサイドを別々のチェックを行うか、[ァ-ヶ]などを利用して共通に するか、どちらかだと思います。 間違っているようでしたら、どなたかフォローお願いします。 ではでは。 | ||||||||
|
投稿日時: 2006-10-11 13:43
文字コードをみる
| ||||||||
|
投稿日時: 2006-10-12 18:53
ぶさいくろうさんと同じで、文字コードを見るに一票。
JISコードなら2420〜247Fがひらがな・・・の筈。 ※手元のFMRシリーズコードブックでは、そう書かれてます(てか古!! | ||||||||
|
投稿日時: 2006-10-12 19:11
しむら〜!半濁点!はんだくてん! 今回も2002年とはまた古いスレを上げてきましたね ![]() # あ、責めてるわけじゃないですよ スレ主さんは見てるんでしょうか。
昨今の新人君にはJISコードとか言っても通じなさそうです。 その前にシフトJISとか言っても通じなさそうです。 だからと言ってUnicodeで通じるかというと… orz たぶん「ひらがな」「カタカナ」と「それ以外の全角文字」(全角って死語?)を分け たかったのだと推測してみます。 まぁ結局のところ文字コードで見るとか、ひらがなカタカナの文字を集めたテー ブルというか文字列を一個持っておいて、その中に存在するかどうかとかでチェッ クするのが妥当なんじゃないでしょうかね。 _________________ ぽぴ王子@わんくま同盟 ぽぴ王子の人生プログラミング中 / ぽぴンち。 |
1