我有一个文本文件,读取
NFR1: (some text)
NFR2: (some text)
NFR3: (some text)
我想将具有模式“N”的文本文件中的所有字符串分组。
这是我到目前为止的代码:
import java.util.List;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) throws FileNotFoundException {
List<String> result = new ArrayList<String>();
Pattern patt = Pattern.compile("^N.*");
BufferedReader r = new BufferedReader(new FileReader("fileName"));
String line;
try {
while ((line = r.readLine()) != null) {
Matcher m = patt.matcher(line);
while (m.find()) {
int start = m.start(0);
int end = m.end(0);
result.add(m.group());
System.out.println(result);
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
输出如下:
[NFR1:]
[NFR1:,NFR2:]
[NFR1:,NFR2:,NFR3]
我如何让数组只读
[NFR1:,NFR2:,NFR3]
没有上面的其他两个元素?
当我添加代码行以获取最后一个元素时:
if (result != null && !result.isEmpty()) {
System.out.println("Last element is:");
System.out.println(result.get(result.size()-1));
}
输出是:
The last element is:
NFR1:
The last element is:
NFR2:
The last element is:
NFR3:
我究竟做错了什么?
米脂
MM们
相关分类