- - PR -
文字列比較について
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-07-09 21:28
頭で考えている通りにプログラムができなくなってしまったので教えてください!!
20文字の文字列があったとして ・1文字目がAであるか? ・3文字目が英数字であるか? ・5文字目がA〜MまたはU〜Vであるか? ・9文字目がスペースか英字であるか? ・10文字目がDかiであるか? ・12文字目が数字であるか? というのをbooleanとif文で組みたいと思っています。「なんだ簡単ジャン!」と思われるかと思いますが、どういうプログラムになるのか参考にできるプログラムを教えてください。 |
|
投稿日時: 2005-07-09 21:37
学校の宿題みたいですね。
頭で考えてどうやろうとしたのか、どこまでやって、どこがわからないのか、 まずは、教えてください。 |
|
投稿日時: 2005-07-09 21:42
どもども
正規表現使えばよろしいかと・・・ |
|
投稿日時: 2005-07-10 01:53
$a =~ /^A.[A-Za-z0-9].[A-MU-V].{3}[\sA-Za-z][Di].\d/;
え、全部 and じゃない? しかも perl じゃない? # (暑いので|天然|わざと)ボケました まずはひっきさんの「頭で考えている通り」の内容はテレパスでもない限りひっきさん以外の人にはわかりません。 そして、それがわからないことには一向に話になりません。 |
|
投稿日時: 2005-07-10 02:08
「x文字目は〜でないとだめっす」的なメッセージを出したいなら、
やっぱり普通のチェックがいい気もします。誰でも読めるし。 |
|
投稿日時: 2005-07-10 10:09
自分がどこがわからないのかが説明不足ですみません・・・
まず、1文字目の'A'であるか確かめるのは、文字コードで調べるのではなく直接「'A'という文字」を調べるプログラムはできないのでしょうか? 「A〜M」という範囲の指定方法もわかりません・・ 英数字かどうかの判定はisLetterOrDigit()を使えばよいような気がしますがこれでよいでしょうか? |
|
投稿日時: 2005-07-10 10:27
じゃあ、簡単に。
String hoge = "ABCDE"; if(hoge.charAt(0) == 'A'){ ... } if('A' <= hoge.charAt(1) && hoge.charAt(2) <= 'M'){ ... } |
|
投稿日時: 2005-07-10 11:12
ありがとうございます!!
もしよろしければ、最初の質問文をif文でつなげたサンプルプログラムを教えていただけませんでしょうか? よろしくお願いいたします。 |