• ベストアンサー

Javaで文字を漢字であるか否かを判定する

ある文字を、漢字であるかそれ以外であるかを判定したいです。Javaの標準でそのようなことは可能なのでしょうか。お手数をおかけしますが、宜しくお願い致します。

  • Java
  • 回答数3
  • ありがとう数13

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1
rio_grande
質問者

お礼

有難うございました。JavaのUnicodeBlockを使用することにいたしました。

その他の回答 (2)

  • teketon
  • ベストアンサー率65% (141/215)
回答No.3

正規表現 System.out.println("亜".matches("\\p{InCjkUnifiedIdeographs}"));

rio_grande
質問者

お礼

有難うございました。JavaのUnicodeBlockを使用することにいたしました。

  • Ogre7077
  • ベストアンサー率65% (170/258)
回答No.2

Unicode の文字ブロックだとややこしいので、要件さえ大丈夫なら以下の手も 1. 一文字だけの文字列を用意 2. String#getBytes で 'x-SJIS_0213' のバイト配列へ変換 3. バイト配列があわせて 0x879F 以上のコードなら漢字と判断 0x879F という数字は、こちらを見れば理解できると思います http://www.asahi-net.or.jp/~ax2s-kmtn/ref/jisx0213/ 副次的な効果として、日本で使われていない漢字が識別できませんのでご注意を

rio_grande
質問者

お礼

有難うございました。JavaのUnicodeBlockを使用することにいたしました。

関連するQ&A

  • javaでの文字判定

    javaにおいて16進数文字判定はどのようにするのでしょうか? 例えばString文字列が16進数文字0-9,a-f,A-Fで構成されているかどうかを 判定するにはどのようにすれば良いのでしょうか? このString文字列の長さは事前には分からず、数文字かもしれないし 数百文字かもしれません c言語の場合だとchar配列xyz[]があって中身が"1234abc"の場合 isxdigit()を使ってループでisxdigit( xyz[i] )として1文字づつ判定しNUL文字が 出現すれば終了となるわけですがjavaの場合だとどうするのでしょう? Stringの場合、byte[]の場合、char[]の場合それぞれ教えてもらえると助かります。 よろしくお願いします。

    • ベストアンサー
    • Java
  • JAVA Servlet での全角文字判定

    JAVAでの文字列判定で、全角文字以外を入力した場合は、エラーとして扱いたいのですが、その方法がわかりません。 教えてください。よろしくお願いします。

  • 常用漢字?でない文字を判定する方法を探しています。

    文字コードがUTF8のファイルがあります。 この中に、SJISで表示できない文字があり、常用漢字?でない文字を判定する方法を探しています。 文字コードに詳しい方教えてください。 アルゴリズムは、perlでもCでも構いません。

    • ベストアンサー
    • Perl
  • EUCの漢字第1バイトを判定する

    EUCの文字列の最終文字が漢字第1バイトであるかを判定 したいのですが・・・・。 char work[21]; . . memcpy(work, &buf[0], 20); if(work[19] >= 0xa1 && work[19] <= 0xdd || work[19] >= 0xdf && work[19] <= 0xfe){ . . このようなコードでworkにコピーした文字列の最後の文字が 漢字第1バイトか判定しています。 しかし、コンパイルではwaningがでて処理もうまくいきません。 よい方法を教えていただけないでしょうか? よろしくお願いします。

  • Javaでブラウザ判定

    Javaでブラウザの判定を行いたいのですが 何かありますでしょうか? なにぶん初心者なもので どうしたらいいか検討もつきません。 JavaScriptでの判定方法は navigator.appNameなどで出来るみたいですが JavaScriptではなく Javaで出来るかどうか探しているのですが 分かる方がいらっしゃいましたら ご教授下さい。 よろしくお願いします。

    • ベストアンサー
    • Java
  • VB6で漢字の1バイト目か2バイト目かの判定

    例えば、"123あいう"と"4え5おか"という文字があるとします。 これを前から5バイト取得したい、ただし、5バイト目が漢字の1バイト目なら4バイトを取得したいのですが、漢字の1バイト目か2バイト目か簡単に判定する方法をご存知の方いらっしゃらないでしょうか? よろしくお願い致します。 "123あいう"は、"123あ"と"いう"に、 "4え5おか"は、"4え5"と"おか"に分割したいということです。

  • Javaと素数の判定について・・・

    Javaのプログラミングで、素数の判定をfor構文とif構文だけで、どうやったら作れるものでしょうか。教えてください。。

  • 漢字一文字で表すなら?

    今年の漢字は「税」でしたね! では、理由も添えて結婚を漢字一文字で表してください! 私なら「忍」です。 忍耐以外の何者でもない!

  • javaの文字コードについて

    いつもお世話になっております。 webで入れられた文字列に全角が含まれるか判定したいのですが、 文字コードについて質問させてください。 javaは標準では、String型は標準ではunicodeだと思うのですが、 これはutf-8なのでしょうか。utf-16なのでしょうか。 試しに以下のように"A"の文字をbyteに変換してみたところ、 String strTest = "A"; byte[] bbb = strTest.getBytes(); for(int i = 0 ; i < bbb.length ; i++){ System.out.println(bbb[i]); } "65"という結果が返ってきました。 http://ash.jp/code/unitbl1.htm 等文字コード表を見ると、"A"は"41"と定義されており、なぜ"65"が返ってくるのでしょうか。 変な質問ですいません。 関係無いと思いますが、ソースはS-JIS、windwos環境で実行しています。 よろしくお願いします。

    • ベストアンサー
    • Java
  • 漢字、カタカナ、ひらがな、英数字の判定

    perl5.8.5でCGIのプログラムを作っています。 入力された文字(2バイト文字)が「漢字」「カタカナ」「ひらがな」「英数字」「その他」のどれなのか文字種類を判定したいと思っています。 プログラムの文字コードはEUCで書いています。 よろしくお願いします。