我想从txt文件中读取带缩写的多行句子。我想逐句阅读。例句:
“罗杰先生
和
女士罗杰
是我的老师。”
我怎么能得到这个?
我看到在Scanner中我可以更改定界符,但对于我来说,这不是一个好选择,因为点缩写将被视为句子的结尾。
答案 0 :(得分:0)
您无法使用简单的delimiert解决此问题。您将需要一个已知缩写词的字典,然后在已知缩写词之后“跳过”点。
我认为首先将整个文件的内容读入String
或StringBuffer
,然后查找点(.
),看看是否存在以下内容是最简单的方法:点前面的已知缩写,如果没有,则将其从最后一个复制到当前定界符。仍然存在识别以定界符结尾的句子的问题……
答案 1 :(得分:0)
这将起作用,但是您可能会概括地说,要寻找大写字母的东西是从很少的小写字母跟随者和点开始的。
暂时使用此.+?(?:(?<![\s.]\p{Lu}|r|rof|s|rs|iss)[.!?]|$)