我有一个输入文件:
U10:%x[-2,1]
U11:%x[-1,1]
U12:%x[0,1]q
U13:%x[1,1]
U14:%x[2,1]
U15:%x[-2,1]/%x[-1,1]
U16:%x[-1,1]/%x[0,1]
U17:%x[0,1]/%x[1,1]
U18:%x[1,1]/%x[2,1]
U20:%x[-2,1]/%x[-1,1]/%x[0,1]
U21:%x[-1,1]/%x[0,1]/%x[1,1]
U22:%x[0,1]/%x[1,1]/%x[2,1]
现在我想逐行读取并提取要分配给变量的数字,i,j
以便:
i=-2, j=1;
i=-1, j=1;
i=0, j=1;
i=1, j=1;
i=2, j=1;
i=-2, j=1; then i=-1, j=1;
i=-1, j=1; then i=0, j=1;
etc.
我正在考虑正则表达式,但奇怪的是这个没有匹配:
FileReader frr = new FileReader("/Users/home/Documents/input.txt");
BufferedReader brr = new BufferedReader(frr);
String linee;
while ((linee = brr.readLine()) != null) {
String pattern = "\\[(.*?)\\]";
Pattern regex = Pattern.compile(pattern);
Matcher regexMatcher = regex.matcher(linee);
System.out.println(regexMatcher.group());
}
brr.close();
如果我使用拆分,它也会返回非常奇怪的结果:
String[] listItems = linee.replaceFirst("^\\[", "").split("(\\(\\d+\\))?\\]?(\\s*,\\s*\\[?|$)");
System.out.println(listItems);
结果:
[Ljava.lang.String;@c3bb2b8
等等
我应该如何完成上述任务?