У меня проблема с парсином в коллекции CACM в Java.
Коллекция имеет следующий формат:
.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 , и я не могу заставить его работать с любым другим полем. Я не знаю, где исправить код или логичное приближение.
Есть ли в этом ключ?
Заранее спасибо.