我必须从包含关键字的文本文件中提取行,并用两个单词分隔。
我已经找到了只包含关键字的行(带contains(string)
),但我需要在此之前和之后也有一对行,可能不计算行数,但搜索第一行和这一行的最后一句话。
我怎么能这样做?
答案 0 :(得分:1)
您可以在第一步中将行存储在java.util.List中,然后使用索引遍历列表。
List<String> lines = new ArrayList<String>();
while(reader.ready()){
lines.add(reader.readLine());
}
for(int i = 0; i<lines.size();i++){
if(lines.get(i).contains(string)){
String lineMinusTwo = lines.get(i-2);
String lineMinusOne = lines.get(i-1);
String line = lines.get(i);
String linePlusOne = lines.get(i+1);
String linePlusTwo = lines.get(i+2);
}
}
答案 1 :(得分:0)
如何实现读取线条并将它们映射到HashMap的“非常粗糙”词法分析器。整数是行号,字符串是整行。 处理整个文件,然后在找到包含关键字的行时遍历地图,您可以根据当前行号和后面的n行查找前面的n行。