我在解析java中的CACM collection时遇到问题。
该系列具有以下格式:
.I number
.T
title
.A
authors
multiple authors allowed
.W
body
multiple lines of body allowed
我正在尝试使用 extract 方法提取每个字段:
public static String extract(char campo, String text,Boolean allowEmpty)
{
String[] lines = text.split("\\r?\\n");
/*for(String line:lines)
System.out.println(line);*/
StringBuilder builder = new StringBuilder();
boolean start = false;
boolean end = false;
for(String l:lines)
{
System.out.println(l);
//System.out.println(line.charAt(0));
if((l.charAt(0) == '.') && (l.charAt(1) == campo))
{
System.out.println("Detectado campo "+l.charAt(1));
start = true;
builder.append(l.substring(2)).append("\n");
}
else
{
if(l.charAt(0) == '.')
{
//System.out.println(campo);
break;
}
else if(start)
builder.append(l);
}
}
return builder.toString();
}
但是我不知道为什么,它只提取 .I 字段,而且我无法让它与任何其他字段一起使用。关于纠正代码的位置,或者近似是否符合逻辑,我一无所知。 这有什么线索吗?
提前谢谢。