我必须从包含关键字的文本文件中提取行,由两个单词分隔。
我已经找到了只包含关键字 (with contains(string)
) 的行,但是我还需要在这之前和之后有一对行,可能不计算行数,而是搜索这组行的第一个和最后一个单词。
我怎么能这样做?
我必须从包含关键字的文本文件中提取行,由两个单词分隔。
我已经找到了只包含关键字 (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 中。整数是行号,字符串是整行。处理整个文件,然后在找到具有关键字的行时循环遍历映射,您可以根据当前行号和下 n 行查找所需的前 n 行。