我是用Java編程的新手。我想將一個文件中的段落拆分成句子並將它們寫入不同的文件中。此外,還應該有一種機制來確定哪個句子來自哪一段。到目前爲止,我使用的代碼如下所述。但是這個代碼打破:將段落分解成句子 - 一個特例
Former Secretary of Finance Dr. P.B. Jayasundera is being questioned by the police Financial Crime Investigation Division.
到
Former Secretary of Finance Dr.
P.B.
Jayasundera is being questioned by the police Financial Crime Investigation Division.
我怎樣才能糾正呢?提前致謝。
import java.io.*;
class trial4{
public static void main(String args[]) throws IOException
{
FileReader fr = new FileReader("input.txt");
BufferedReader br = new BufferedReader(fr);
String s;
OutputStream out = new FileOutputStream("output10.txt");
String token[];
while((s = br.readLine()) != null)
{
token = s.split("(?<=[.!?])\\s* ");
for(int i=0;i<token.length;i++)
{
byte buf[]=token[i].getBytes();
for(int j=0;j<buf.length;j=j+1)
{
out.write(buf[j]);
if(j==buf.length-1)
out.write('\n');
}
}
}
fr.close();
}
}
我引用的所有貼在StackOverflow上的類似的問題。但是這些答案無法幫助我解決這個問題。
這將是合理很難做到,除非你能正式的「這一時期標誌着一個縮寫」 VS「這個時期標誌着一個句子的末尾」的一些概念。 –