如何在点之前删除文本文件的第一句作为字符串?

时间:2016-01-22 18:33:12

标签: java string

我需要在第一句中没有公布时间的情况下获取新闻的内容。

我的文本文件中包含的内容:

  

2016年1月21日更新09:31:19虽然现代击球小门和无聊的比赛有争议,但有时他们会给我们带来这样的眼镜。首先,澳大利亚以348的成绩飙升至6分。其次,对于印度的大部分回复,巡回赛看起来像它最后,澳大利亚队在最近一连串的小门赛中重新夺回了比赛的胜利。三个世纪,13个六十年代,一些忙乱的过度。确实,现代的限制性游戏经常会将保龄球运动员减少到保龄球机,而且在这场比赛中也是如此。但偶尔的崇高击球技术质量会让你愿意接受不公平并不总是罪恶......

我期望的结果是:

  

虽然现在有关于现代击球门和无聊比赛的争论,但有时候他们会给我们这样的眼镜。首先,澳大利亚飙升至6,为348.第二,对于印度的大部分回复,游览方面看起来它会卷入那个总数。最后,澳大利亚在最近的一连串小门中重新赢回比赛。三个世纪,13个六十年代,一些忙乱的过度。确实,现代的限制性游戏经常会将保龄球运动员减少到保龄球机,而且在这场比赛中也是如此。但偶尔的崇高击球技术质量会让你愿意接受不公平并不总是罪恶......

我目前的代码选择新闻网址的内容,内容是上面的文字。

Document doc = Jsoup.connect(url).get();
        Elements paragraphs = doc.select("p");

        for (Element p : paragraphs) {
            String content = p.text() + (". ");
            System.out.print(content);
            PrintWriter out = new PrintWriter(new FileWriter("D:\\content.txt", true));
            out.println(content);
            out.close();

在我将代码写入文件之前我需要修复“内容”的地方吗?

1 个答案:

答案 0 :(得分:1)

正如评论中所建议的那样,你需要在for循环中放置一个过滤器(我假设你要删除段落中每个元素的第一行)。你可以实现一个新的函数,它将p.text()作为参数并从中删除第一个句子,或者(更容易)你可以使用java prebuilt substring方法;你找到第一个出现的点,然后你从它中子串。简而言之,您应该使用indexOf找到第一个出现,然后您可以从中进行子串

String tmp = p.text();
String content = tmp.substring(tmp.indexOf('.')+1) + (". ");