如何在Java中的两个空行后获取String

时间:2014-02-24 19:36:03

标签: java

假设我的字符串结构如下

This is sentence one.
this is sentence two.

This is sentence three.
This is sentence 4.

This is sentence 5.
This is sentence 6.

我的要求是在遇到两个空白行后获取文本。

我只想要这个     这是第5句。     这是第6句。

如何在JAVA中实现这一目标?

2 个答案:

答案 0 :(得分:1)

这是一种简单而丑陋的方式:

    public static void main(String[] args) throws FileNotFoundException {
    Scanner in = new Scanner(new FileReader("input.txt"));
    String empty = "";
    int counter = 0;


    while (in.hasNextLine()) {
        String temp = in.nextLine();
        if (temp.equalsIgnoreCase(empty)) {
            counter++;
            if (counter == 2) {
                System.out.println(in.nextLine());
                System.out.println(in.nextLine());
                System.exit(1);
            }
        }
    }
}

感谢用户mbroshi指出我的旧代码存在缺陷

答案 1 :(得分:1)

String str = FileUtils.readFileToString(file);
Pattern p = Pattern.compile("\\r\\n[\\r\\n]+");
String[] result = p.split(str);

 for(int i=2;i<result.length;i++)
    {
        System.out.println(result[i]);
    }

以下解决方案也运作良好。