- 締切済み
String文字列の解析の方法(初歩的ですみません
皆様、はじめまして。sakiと申します。 javaを習い始めて2週間の初心者です。 今回はどうしてもわからな問題があり、質問することに致しました。 どうぞよろしくお願いします。以下、問題です。 String文字配列のaaa[SAKI]and[DOG]like[DOG=5]love[SAKI=-20]を左からj順に解析していく。 [ ]で囲まれていない文字列はString文字列として返す。 [ ]が現れた場合は、中身が"SAKI"の場合は、String型文字列"SAKI"を返す。 [ ]の中身が"DOG"の場合は、String型文字列"DOG"を返す。 また[ ]の中に=がある場合は=の後ろの数字をint型で返す。 という処理がわかりません。 for文とcharAt()メソッドで1文字ずつ抜き出し、それをchar型配列に格納し、さらにString型に変換して判別するという方法を考えたのですが上手くいきませんでした。 ご親切な方がいらっしゃいましたら、どうぞよろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- okbakasine
- ベストアンサー率27% (67/242)
Javaに限らず各種プログラミング言語で複雑な文字列の検索や置換などの処理は正規表現でしょう。
- salsberry
- ベストアンサー率69% (495/711)
問題文にある"aaa[SAKI]and[DOG]like[DOG=5]love[SAKI=-20]"という入力に対して、その処理でどういう結果が返ることを期待していますか? 先頭の"aaa"というStringだけを返せばいいのか、最後まで解析して"aaa"からintの-20までを一度に返すのか、後者の場合Stringとintの値を混ぜて返すためにどのような型を使うのか(その型を決めることも問題の内容に含まれるのか)など、要求されている仕様が不明確です。 また、[ ]の中にたとえば"XYZ"とか"N=#@%"のような文字列があった場合にはどうするのでしょうか。