我试图找出一种从以下文本文件中读取的方法。我能够获得文本文件中的第一个整数,即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
答案 0 :(得分:1)
我没看到有什么问题。如果你说你有“解析”的问题,你可以尝试:
读取一行(String line
)
split
分为两部分。点击这里:
http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#split(java.lang.String,int)
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];
}