0

2 つの単語で区切られたキーワードを含むテキスト ファイルから行を抽出する必要があります。

キーワード (with contains(string)) を含む行のみを既に見つけましたが、この前後に行のペアも必要です。おそらく行を数えるのではなく、このグループの行の最初と最後の単語を検索します。

どうすればそれができますか?

4

2 に答える 2

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);
  }
}
于 2012-08-13T13:56:10.823 に答える
0

行を読み取り、それらをHashMapにマップする「VERYROUGH」レクサーを実装するのはどうですか。整数は行番号になり、文字列は行全体になります。ファイル全体を処理し、キーワードを含む行が見つかったらマップをループして、現在の行番号と次のn行にも基づいて必要な前のn行を検索できます。

于 2012-08-13T13:56:47.007 に答える