每个段落的第一句我有一个文本文件,并希望打印第一一句每一段的。段落以换行符分隔,即“\ 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