ソフトウェア開発したい日記

「面白い!」と思った頭の体操や、数学の問題を載せていきます
その他ロードバイクででかけた先の写真や、ソフト開発のメモ等

Javaの文字列を分割したり操作したり

2009年12月05日 20時52分40秒 | ソフト開発日記
以前C言語で制作したNC言語コンパイラ(NC加工シミュレータ)
にちゃんとしたUIを実装させるべくJavaに移植することに

ファイルから1行ずつ読み込んでString型にするのは
BufferedReaderクラスのreadLine()メソッドでできました

次いで1行を要素ごとに分割するためのメソッドを探すことに

とりあえずStringクラスからは、split()メソッドかsubstring()メソッドが使えそう。
文字列の比較はどうしよう。
C言語のctype.hみたいにisalphaとかisdigit関数的なものはあるのかな。
けどStringクラスのメソッドでisではじまるのはisEmpty()しかなかった。
substringで1文字ずつ読み込んで,正規表現と比較することに。

読み込んだ文字列を変数strに入れ
"\0"が出てくるまで1文字ずつ調べていき

str.substring(i, i+1) == "[a-zA-z]"
str.substring(i, i+1) == "[0-9]"

といった具合に英字なのか数時なのかチェック。
英字+数字をセットで文字列型配列に入れていくように。

するとエラーは出ないけどうまく比較できない。なぜだろう。
調べてたら文字列は==や!=で比較しちゃいけないらしい。
NetBeansにも黄色線で警告してくれてました。

でもうまくいかない。ヌル文字(\0)もないみたい。よくわからない。