0

次のテキスト ファイルから読み取る方法を見つけようとしています。numLines であるテキスト ファイルの最初の整数を取得できます。その後、行から最初の整数を取得できますが、個々の文字グループを正常に取得できません。

for(int i=0; i < numLines; i++){
   numVariables = Integer.parseInt(fin.next());

    for(int z=0; z < numVariables; z++){
        String line = fin.next();

        int numRules = Integer.parseInt(line.substring(0, 1));

        //Everything up until this point is good

        //read and store first capital letter of every line
        String variable = line.substring(2,3);

        //read and store remaining capital letters that correspond to every line separately
    }
}

テキストファイル

3
2 A CC DD
3 A AA z v
2 F f a
4

2 に答える 2

1

何が問題なのかわかりませんでした。「解析」に問題があると言う場合は、次を試すことができます。

array =line.split(" ", 2)

それから

array[0] is the leading number
array[1] is the rest letters

各パーツが必要な場合はsplit (" ")、無制限に使用できます。

これらの大文字の単語を取得したいだけの場合は、正規表現で行うことができます:

line.split(" ",2); //array[0] is the leading number

配列[1]に適用する"(?<= )[A-Z]+(?= )"と、すべての大文字の単語が取得されます。

それはあなたが望むものですか?

于 2013-01-30T16:50:55.430 に答える
0
String[] words = line.split(("\\s+"); // Any whitespace
int numRules = Integer.parseInt(words[0]);
for (int j = 1; j < words.length; ++j) {
   String variable = words[j];
}
于 2013-01-30T16:51:10.777 に答える