用Java解析CACM集合

时间:2018-05-07 20:29:09

标签: java parsing string-parsing

我在解析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 字段,而且我无法让它与任何其他字段一起使用。关于纠正代码的位置,或者近似是否符合逻辑,我一无所知。 这有什么线索吗?

提前谢谢。

0 个答案:

没有答案