チグリス:
私は、txtファイルを持っています:
Hello Word
myStrings = [str1, str2, str3]
Goodbye Word
私はその後、myStrings値の1 [STR1、STR2、STR3]は、いくつかの変数と一致するかどうかを確認するためにループを持っている「myStrings」の文字列を検索し、ファイルを読みたいです。
現在、私はこのようなmyStringsを見つけています:
Scanner scanner = new Scanner(fileName);
while (scanner.hasNextLine()) {
String fileline = scanner.nextLine();
String myStringsKey = "myStrings =";
if(fileline.startsWith(myStringsKey)) {
}
}
どのようにして定義されたVARに確認するインスタンスのSTR2を達成することができますか?私は「分割」を使用する必要がありますと仮定します。
zappee:
あなたの文字列を解析するためには、次の簡単な方法を使用することができます。
public String[] parseMyStrings(String s) {
int beginIndex = s.indexOf("[") + 1;
int endIndex = s.indexOf("]");
s = s.substring(beginIndex, endIndex);
// split and trim in one shot
return s.split(("\\s*,\\s*"));
}
次に、あなたの最終的なコードは次のようになります。
Scanner scanner = new Scanner(fileName);
while (scanner.hasNextLine()) {
String fileline = scanner.nextLine();
String myStringsKey = "myStrings =";
if(fileline.startsWith(myStringsKey)) {
String[] values = parseMyStrings(fileline);
System.out.println(Arrays.toString(values));
}
}
私はあなたが別のメソッドに解析ロジックを置けば、あなたのコードが拡張または変更するために、より読みやすく、容易になりますね。