每個段落的第一句我有一個文本文件,並希望打印第一一句每一段的。段落以換行符分隔,即「\ n」。打印在Java中
從的BreakIterator,我以爲我可以使用getLineInstance()對於這一點,但現在看來,這是迭代器在每個字:
public String[] extractFirstSentences() {
BreakIterator boundary = BreakIterator.getLineInstance(Locale.US);
boundary.setText(getText());
List<String> sentences = new ArrayList<String>();
int start = boundary.first();
int end = boundary.next();
while (end != BreakIterator.DONE) {
String sentence = getText().substring(start, end).trim();
if (!sentence.isEmpty()) {
sentences.add(sentence);
}
start = end;
end = boundary.next();
}
return sentences.toArray(new String[sentences.size()]);
我使用getLineInstance()不正確或有另一種方法做我想要的是?
什麼構成 「一句」?它會如何處理像「布朗博士是否會加入我們?」 –
你不想使用'getSentenceIterator'嗎? –
由BreakIterator.getSentenceInstance()定義,不知道它是如何實現的,我假設它正在使用一個句點,後面至少有一個空格作爲分隔符。 – wolve80