读取文件行并存储不同类型的变量

时间:2013-01-30 16:44:25

标签: java parsing

我试图找出一种从以下文本文件中读取的方法。我能够获得文本文件中的第一个整数,即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

2 个答案:

答案 0 :(得分: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]+(?= )",你得到所有大写单词。

是你想要的吗?

答案 1 :(得分: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];
}