Java 扫描仪如何读取线点分隔符

Java 扫描仪如何读取线点分隔符,java,Java,我试图逐行读取文件,直到使用点分隔符。然而,正如一些人告诉我的,我可以使用一些模式。我使用了下面的方法,看起来很有效,但我遇到了以下问题: scanner = new Scanner(file); scanner.useDelimiter(".*?\\.(\\s+)"); 在以下示例中: 纽约州康马克,2月26日——计算机终端系统公司表示,它已经 完成了200000股普通股和认股权证的出售 收购额外的一百万股,以收购卢加诺的股份, 瑞士为50000德国第纳尔 但结果是: 纽约州康马克,2月26

我试图逐行读取文件,直到使用点分隔符。然而,正如一些人告诉我的,我可以使用一些模式。我使用了下面的方法,看起来很有效,但我遇到了以下问题:

scanner = new Scanner(file);
scanner.useDelimiter(".*?\\.(\\s+)");
在以下示例中:

纽约州康马克,2月26日——计算机终端系统公司表示,它已经 完成了200000股普通股和认股权证的出售 收购额外的一百万股,以收购卢加诺的股份, 瑞士为50000德国第纳尔

但结果是:

纽约州康马克,2月26日——计算机终端系统公司表示,它已经 完成了200000股普通股和认股权证的出售 要获得额外的一百万股股份

它似乎工作正常,但有时直到最后才完成。那么问题出在哪里呢?

我试过这个


在可能以点结尾的行中使用trim。

您已经问过这个问题,如果您知道@newuser可能重复,并且您已经在那里提供了答案,为什么要重复您自己的答案?!相反,请将此帖子标记为重复,并在评论部分的此处共享您的答案链接。@R.J ya我知道,但这里的问句将给出准确的输入和输出。我的答案与上一个答案有所不同。所以只有我在这里发帖again@newuser-这就是重点。编辑那个答案。将此标记为副本,并在此处提供答案的链接。无论您编辑或更改了多少内容,该链接将始终重新指向您的答案。