C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: 半角カナの空白検索


(過去ログ 12 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■3257 / inTopicNo.1)  半角カナの空白検索
  
□投稿者/ ヨウスケ (1回)-(2007/04/28(Sat) 00:30:25)

分類:[C# (Windows)] 

初めて投稿させていただきます。
ひとつ質問なのですが
テキストボックスに入ってきた値を半角カナかどうかをチェックしているのですが
今現在では

// 半角カナかどうかをチェック
bool check = Regex.IsMatch(text, @"^[\uFF36-\uFF9F]*$");

// 半角カナでなければ、
if (check == false)
{
// エラーメッセージを表示
MessageBox.Show("半角カナで入力して下さい");
}

という風にしているのですが、文字コードで半角カナの範囲を決めてその範囲内の値が帰ってきたら
checkの中にはtrueが返ってきて半角カナと判断できるのですが
もしcheckの中に「アア アアア」という風に空白が入ってくるとfalseが返ってきて半角カナと判断できません
文字コードの中に空白が入ってないのはわかるのですが文字コードの空白の番号が調べてもわからず投稿させて頂きました。
結果としては空白が入っていてもtrueを返して半角カナと判断したいのですができるのでしょうか?
もしよろしければご教授願いたいと思います


引用返信 編集キー/
■3258 / inTopicNo.2)  Re[1]: 半角カナの空白検索
□投稿者/ Hongliang (132回)-(2007/04/28(Sat) 02:08:51)
Hongliang さんの Web サイト
まず条件をきっちりさせないと正規表現を書けませんよ。
・空の場合
・半角空白しかない場合

正規表現の [ ] は、その中のいずれか一文字がマッチするわけですから、そこにマッチさせたい文字を放り込むだけです。\uXXXX の表記に拘る必要はありません。
引用返信 編集キー/
■3263 / inTopicNo.3)  Re[1]: 半角カナの空白検索
□投稿者/ C#恐怖症 (5回)-(2007/04/28(Sat) 23:04:25)
No3257 (ヨウスケ さん) に返信
> もしcheckの中に「アア アアア」という風に空白が入ってくるとfalseが返ってきて半角カナと判断できません
> 文字コードの中に空白が入ってないのはわかるのですが文字コードの空白の番号が調べてもわからず投稿させて頂きました。
> 結果としては空白が入っていてもtrueを返して半角カナと判断したいのですができるのでしょうか?
> もしよろしければご教授願いたいと思います

考え方の違いなのですが、「アア アアア」から空白を取り除いた「アアアアア」を一時的に別の変数に入れて、
それをチェックするというのはどうでしょうか?

引用返信 編集キー/
■3267 / inTopicNo.4)  Re[1]: 半角カナの空白検索
□投稿者/ WonderRabbit (10回)-(2007/04/29(Sun) 12:48:30)
WonderRabbit さんの Web サイト
Regex.IsMatch(str, @"^[\uFF66-\uFF9F][ \uFF66-\uFF9F]*[\uFF66-\uFF9F]$")

こんな感じだと最初と最後が半角カナでその間に0文字以上の半角カナまたは半角空白を含む時trueを返します。

" "(ASCIIのスペース)の文字コードは0x0020なのでコードで表記したければこれでどうぞ。

#提示されたコードでは半角カナを0xFF36〜0xFF9Fとしていますが、それだと全角文字の"V"から半角カナの半濁音までという指定になっているような。一応レスで提示したコードでは半角の"ヲ"からとしました。Windows付属の文字コード表(XPならアクセサリ-システムツールにデフォで入ってます)などで確認して見ることお勧めします。

#状況によりけりですが全角入力があった場合にも置換して受け付けてあげるとユーザーにはフレンドリーなのかもしれない。ちなみに全角のスペースは0x3000です。

WIKIPEDIAのUNICODE文字コードの一覧
http://ja.wikipedia.org/wiki/Unicode#.E4.B8.80.E8.A6.A7

引用返信 編集キー/
■3268 / inTopicNo.5)  Re[2]: 半角カナの空白検索
□投稿者/ aoa (35回)-(2007/04/29(Sun) 13:42:29)
個人的に\uXXXX の表記はわかりにくくできるだけ避けるべきだと思います。
Hongliangさんのおっしゃるように条件によりますが、
おおよそこのような感じではないでしょうか?

^(?= *[ヲ-゚])[ヲ-゚ ]+$

検討してみて下さい。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -