文字列に半角カタカナを含んでいるかどうかを
判別する方法が分かりません。
Javaでの実現の仕方をご存知の方いらっしゃたら
教えて頂けないでしょうか。
よろしくお願いします。

このQ&Aに関連する最新のQ&A

HTML 配列」に関するQ&A: 配列をhtmlで参照

A 回答 (3件)

私はchar配列で半角カタカナの配列を持って一文字ずつ比較しています。


難しいこと考えるより、この方が楽だから(笑)

String text="xxx";
for(int cnt=0; cnt<text.length() ; cnt++){
char tmp=text.charAt(cnt);
//tmpが半角カナ配列のcharと等しいか確認
}
    • good
    • 0

 Unicodeで“HALFWIDTH KATAKANA”と呼んでいる領域は、ff61からff9fまでです。

したがって、一つの文字がその領域にあるかどうかの判定式は

if(c >= 0xff61 && c <= 0xff9f)

のようになります。

 Stringから1文字づつ取り出すには、String#charAt() やString#toCharArray() とループを使います。

参考URL:http://www.ascii.co.jp/books/detail/4-7561/4-756 …
    • good
    • 0

私のところではUnicodeのコード値で判定しています。

この回答への補足

大変厚かましいんですが、
サンプルコードみたいなのを書いて頂けませんでしょうか!
どうやったらいいのか分からないもので・・すみません

補足日時:2001/12/11 17:01
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qメールでの半角カナはどのキャリアも半角カナで見れますか?

私はソフトバンクですが、例えばソフトバンクでメール文を半角カナで入力してドコモの携帯に送った場合、ドコモの携帯側では半角カナは半角カナとして見れるでしょうか?それとも全角カナになってしまうのかお聞きしたいです・

Aベストアンサー

ドコモ、ソフトバンクはメールでの半角カナ送受信及び表示は可能です。
auでは文字入力の段階で半角カナが選択できません。送信不可能です。
auで半角カナを含むメールを受信した場合、半角カナは自動的に全角カナに変換して表示されます。
(EZweb上でのテキスト入力フォーム等では半角カナ使用可能です)

ご質問のケースですと、双方共に半角カナのまま送受信・表示されます。

Q半角スペースを含む文字列を変数にセット可能?

以下のような、画像を読み込む関数を定義します。
function changePhoto(OBJname, image)
{
document.images[OBJname].src=image;
}

これを
onClick=changePhoto('Photo316','abc xyz.jpg')
のように、引数に半角スペースを含む文字列で呼び出すと、エラーになってしまいます。
abc_xyz.jpgであれば問題ありません。
半角スペースは渡せないのでしょうか?
よろしくお願いします。

Aベストアンサー

>半角スペースは、そのまま半角スペースで表示されます。

うちの環境での実行結果、ファイルをドロップした場合

IE6、Opera8
file:// ~ /abc xyz.jpg

FireFox2
file:// ~ /abc%20xyz.jpg


webサーバから画像ファイルを開いた場合

IE6、Opera8、FireFox2
http:// ~ /abc%20xyz.jpg


ローカルで実行している時は(file://~)そのままのブラウザもありますが、サーバ上にある時は(http://~)どのブラウザも%20に変換されました。

URLエスケープとか、URLエンコードといわれるもので、URLでは半角スペースはそのままでは使えない記号なので、エスケープする必要があるようです。


onClick="changePhoto('Photo316','abc%20xyz.jpg')"

こう書くのが一番安全なのかもしれませんね。

Q半角カナの使用について

以前はメールやホームページで半角カナを使うと文字化けしたりしましたが、今は使われることが多くなっているように思えます。

実際のところどうなんでしょう。
自分に半角カナを入れたメールを送ると全角カナに変換されています。
ローカルディスクに半角カナをいれたHTMLファイルを作り、ブラウザで見るとそのまま半角カナで表示されます。

まだ使うと不具合が出たりするんでしょうか。
それとも使えるようになったんでしょうか。

Aベストアンサー

半角カナは機種依存文字ですので、
たとえばWindowsのパソコンで作ったホームページに
半角カナが使われていると、Macintoshで見たときに文字化けしてしまいます。

Q半角全角混在データの中の半角文字だけをJAVAで抽出する方法

UNICODEでは半角文字も全角文字も2バイト以上で表現
されるらしいので、どうやってすべての半角文字だけを
取り出したらいいか思いつきません。教えてください。

Aベストアンサー

調べみましたが、こんな感じらしいです。
動作確認してませんけど。

int len = a.length();
for(int i=0; i<len; i++){
char c = a.charAt(i);
System.out.print("[" + c + "] ");
if((c<0x007f && c>=0x0020) || (c>0xff60 && c<=0xff9f)){
・・・・・
}
}



参考に
http://yamaguch.sytes.net/~tora/java/diary/jpcode.html

参考URL:http://www.vc-net.ne.jp/~ytp/bbs/java/bbs14291.html

Q半角カナ「ヲ」の文字コードはなぜ…

「技術者向けコンピュータ」には素人の私ですが、掲題の件は此処が適当と勝手に判断して質問いたします。最適なカテゴリーがあれば教えてください。

平仮名も全角カナも概ね五十音順に文字コードが割り当てられています。
だから、コード昇順だと「ぁあぃいぅう・・・わゐゑをん」「ァアィイゥウ・・・ワヰヱヲン」と並びます。
ところが、半角カナの「ヲ」は他のどの半角カナよりも若い文字コードが割り当てられていることに、最近になって気付きました。
調べてみると、半角カナは文字コード昇順で「ヲァィゥェォャュョッ-アイウ・・・ワン」(此処では便宜上 全角カナで示しましたが、すべて半角カナとご理解ください。半角カナの「ヰ」「ヱ」は存在しない)と並びます。つまり、「ヲ」は「ワ」と「ン」の間に来ない!

半角「ヲ」に他のどの半角カナよりも若い文字コードが割り当てられた経緯をご存知の方がいらっしゃいましたら、その理由を教えてください。

Aベストアンサー

言われて初めて気がつきました。
たしかに、半角の「ヲ」の文字コードは「ワ」と「ン」の間に
ありませんね。「ヲ」は日本語では頻繁に利用される助詞でもあり、
利用頻度が少ないとも思えません。
なぜなのか私も興味を持ったので、少し調べてみました。

明確な情報はありませんでしたが、たぶん
以下の考えでよいだろうと思います。

まず、半角カタカナの文字コードは、JIS X0201という
規格で決められました。この規格は今から40年以上前の
1969年に制定されたものです。
(参考)
http://ja.wikipedia.org/wiki/JIS_X_0201

この頃は、今のようにコンピュータは発達しておらず、
もちろんカナ漢字変換などありません。
「キーボードで押したキーをコンピュータに認識させて、
文字コードに割り当てる」という機能を、どうやったら
簡単に実現できるかが重要だった時代です。

前述のJIS X0201の文字コード表と、
今あなたの目の前にあるキーボードに印字されている
カナ文字を見比べてみてください。
なにか気がつきませんか?

文字コードA1~AFに割り当てられている半角カナ文字
。「」、・ヲァィゥェォャュョッ
は、全てShiftキーを押しながら入力する文字です。
そして、文字コードB0以降の半角カナ文字は、全て
Shiftキー不要で入力する文字です。

つまり半角の「ヲ」は、キーボード配列上、
文字コードA1-AFに割り当てると都合がよかったという
理由で「ワ」と「ン」の間から外れたのだと思います。
(Shiftキーを押すと文字コードの左4ビットは"A"になる
というルールがあると、キーボードが作りやすかったの
かもしれません。今の技術ではどうでもいいことですけど)

では、なぜ「ヲ」はShift+「ワ」で入力する位置に
割り当てられているのか?です。
昔は、いろいろな配列のキーボード(タイプライタ)があり、
Shiftなしで「ヲ」を入力する配列もありましたが、
結局、現在の標準になっているJIS配列は、
http://www.ykanda.jp/input/jis/jis.htm
にある通り、大正12年に山下芳太郎さんが決めた
カナタイプのキーボードがベースになっているようです。

つまり、山下のおじいちゃんが「ヲ」をShift付きで入力させる
ことにしたからというのが根っこの理由になると思います。

言われて初めて気がつきました。
たしかに、半角の「ヲ」の文字コードは「ワ」と「ン」の間に
ありませんね。「ヲ」は日本語では頻繁に利用される助詞でもあり、
利用頻度が少ないとも思えません。
なぜなのか私も興味を持ったので、少し調べてみました。

明確な情報はありませんでしたが、たぶん
以下の考えでよいだろうと思います。

まず、半角カタカナの文字コードは、JIS X0201という
規格で決められました。この規格は今から40年以上前の
1969年に制定されたものです。
(参考)
http://ja.wikipedia.org/wik...続きを読む

Qカタカナの全角と半角が区別されません、、、。

カタカナで入力の際に全角と半角を区別したいのですがどうしたらよいでしょうか?

下記のような数字は全角と半角を区別できるようです。
abc abc
123 123


http://boueki.xsrv.jp/etc/mojisuucount/mojisuuj20dame.html

Aベストアンサー

十分というわけではないですが。
function strLength(str){
var matches = str.match(/[\u0020-\u007E\uFF61-\uFF9F]/) || [];
return str.length - matches.length / 2;
}
=================================================
escape について
http://www.openspc2.org/JavaScript/escape/index.html

Qエクセル:半角カナを全角に、半角英数はそのままに。

エクセル:半角カナを全角に、半角英数はそのままに。

ひらがな・漢字・半角カナ・半角英数が混じったセルが縦に沢山あります。
半角カナだけを全角にし、半角英数はそのままにしたいのですが、JISでは全て全角になってしまいます。
どなたか良い関数を教えてください。

Aベストアンサー

ご使用のエクセルのバージョンが提示されていないのですが、エクセル2007ならネストの制限にかからないので、以下のような数式1つで変換することができます(A2セルにデータがある場合)。

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(JIS(A2),"0",0),"1",1),"2",2),"3",3),"4",4),"5",5),"6",6),"7",7),"8",8),"9",9)

古いバージョンのエクセルで変換したいなら、B2セルに「=JIS(A2)」
C2セルに以下のような式を入力し、右方向にL列まで、下方向にデータ数分だけオートフィルすればL列に変換後のデータが表示されます。

=SUBSTITUTE(B2,TEXT(COLUMN(A1)-1,"[DBNum3]0"),COLUMN(A1)-1)

QJava言語 漢字とひらがなの判別

Java言語でテキストファイルを読み取ってテキストファイルの文字を分節に区切るというプログラムを考えています。ファイルの読み取りはできたのですが、漢字とひらがなの区別の部分がわからないので教えていただきたいです。例えばテキストに"私は太郎です。"と書いてあったらそれを読み取って分節で区切った形で表示するようにしたいです。



私は
太郎です


import java.io.*;
class クラス名 {
public static void main (String[ ] args) throws IOException {
try{
FileReader f = new FileReader("test.txt");
BufferedReader b = new BufferedReader(f);
String s;
while((s = b.readLine())!=null){
System.out.println(s);
}
}catch(Exception e){
System.out.println("ファイル読み込み失敗");
}
}
}

調べてください、勉強しなおしてくださいといった回答はなしでお願いします。

Java言語でテキストファイルを読み取ってテキストファイルの文字を分節に区切るというプログラムを考えています。ファイルの読み取りはできたのですが、漢字とひらがなの区別の部分がわからないので教えていただきたいです。例えばテキストに"私は太郎です。"と書いてあったらそれを読み取って分節で区切った形で表示するようにしたいです。



私は
太郎です


import java.io.*;
class クラス名 {
public static void main (String[ ] args) throws IOException {
try{
FileReader...続きを読む

Aベストアンサー

UnicodeBlockを使えばいいでしょう。UnicodeBlock.ofでcharの文字ブロックを調べ、それがUnicodeBlock.HIRAGANAであれば、ひらがなと判断できます。

if (UnicodeBlock.of( 'あ' ) == UnicodeBlock.HIRAGANA){
System.out.println("ひらがな");
}

ひらがな以外の文字種もいろいろあるのでUnicodeBlockのクラス変数をチェックしてみるとよいでしょう。

http://docs.oracle.com/javase/jp/6/api/java/lang/class-use/Character.UnicodeBlock.html

Qネットバンクで半角カナ入力ができない

カテ変更で再質問させて頂きます。

普通日本語入力で半角カナ入力する場合、文字を打った後F8変換で半角カナ入力しますよね。
ところが、インターネットの入力画面のところでそのF8キーがきかないのです。

新生銀行の場合半角カナ入力のため、非常に困ります。ちなみに検索ワード入力時やこの質問文を書いてる時もなりません。

まあ通常ネット上では半角カナは使用しないことは知っていたので、自動で制御がかかるもんだと思っており気にしなかったのですが、友人の新生銀行ユーザーに聞いたところ普通にF8変換でやっていたのです。

なぜ、できる場合とできない場合があるのでしょう?どこか設定するところがあるのでしょうか?
よろしくお願いします。

Aベストアンサー

ブラウザは何をお使いですか?
「F8」キーに他の機能がついたアプリを使用してませんか?

新生銀行の場合は右クリックでのコピペは使えませんので、どうしてもダメならテキストエディタで半角カタカナで入力して、ショートカットキー「Ctrl」+「C」を使ってコピーし、記入欄にカーソルを合わせ「Ctrl」+「V」で貼り付けてください。

Q半角カタカナをローマ字変換するクラスを作りたい

みなさん初めまして<(__)>
javaの左も右も分からない超初心者です。
(と言うかプログラム初心者です)

半角カタカナをローマ字に変換するクラスを作りたいと思っています。
ただ、濁点や半濁点、『ピュ』等の変換を考えると
頭が混乱して訳が分からない状況です。

どなたかご教授頂けないでしょうか。
よろしくお願い致します。

Aベストアンサー

>それは悪意のあるプログラムなんかが出回るのを防ぐ為に
違うよ。質問者の為にならないから。
http://faq.okwave.jp/EokpControl?&tid=607824&event=FE0006

>「PI」と「YU」を「PYU」にするには
No1にも書いたけれど「1文字」じゃなくて多数の文字から探索すべきじゃないかな。
http://www.google.com/search?lr=lang_ja&q=java%20%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE%20%E7%BD%AE%E6%8F%9B
これは一例だけれど「文字『列』」検査をしようね って話。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報