2 つの単語で区切られたキーワードを含むテキスト ファイルから行を抽出する必要があります。
キーワード (with contains(string)
) を含む行のみを既に見つけましたが、この前後に行のペアも必要です。おそらく行を数えるのではなく、このグループの行の最初と最後の単語を検索します。
どうすればそれができますか?
2 つの単語で区切られたキーワードを含むテキスト ファイルから行を抽出する必要があります。
キーワード (with contains(string)
) を含む行のみを既に見つけましたが、この前後に行のペアも必要です。おそらく行を数えるのではなく、このグループの行の最初と最後の単語を検索します。
どうすればそれができますか?
最初のステップで行を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);
}
}
行を読み取り、それらをHashMapにマップする「VERYROUGH」レクサーを実装するのはどうですか。整数は行番号になり、文字列は行全体になります。ファイル全体を処理し、キーワードを含む行が見つかったらマップをループして、現在の行番号と次のn行にも基づいて必要な前のn行を検索できます。