阅读带缩写的句子

时间:2019-06-30 18:34:58

标签: java

我想从txt文件中读取带缩写的多行句子。我想逐句阅读。例句:

“罗杰先生

女士罗杰

是我的老师。”

我怎么能得到这个?

我看到在Scanner中我可以更改定界符,但对于我来说,这不是一个好选择,因为点缩写将被视为句子的结尾。

2 个答案:

答案 0 :(得分:0)

您无法使用简单的delimiert解决此问题。您将需要一个已知缩写词的字典,然后在已知缩写词之后“跳过”点。

我认为首先将整个文件的内容读入StringStringBuffer,然后查找点(.),看看是否存在以下内容是最简单的方法:点前面的已知缩写,如果没有,则将其从最后一个复制到当前定界符。仍然存在识别以定界符结尾的句子的问题……

答案 1 :(得分:0)

这将起作用,但是您可能会概括地说,要寻找大写字母的东西是从很少的小写字母跟随者和点开始的。

暂时使用此.+?(?:(?<![\s.]\p{Lu}|r|rof|s|rs|iss)[.!?]|$)