在两个单词之间搜索文本文件的行,其中包含关键字

时间:2012-08-13 13:46:04

标签: java text-files keyword

我必须从包含关键字的文本文件中提取行,并用两个单词分隔。

我已经找到了只包含关键字的行(带contains(string)),但我需要在此之前和之后也有一对行,可能不计算行数,但搜索第一行和这一行的最后一句话。

我怎么能这样做?

2 个答案:

答案 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行。