gpt4 book ai didi

java - 用Java打印每个段落的第一句话

转载 作者:行者123 更新时间:2023-11-30 09:47:50 25 4
gpt4 key购买 nike

我有一个文本文件,希望打印每个段落的第一 句子。段落由换行符分隔,即“\n”。

在 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() 或是否有其他方法可以执行我想要的操作?

最佳答案

这个作为替代方案怎么样:

public String[] extractFirstSentences() {
String myText = getText();
String[] paragraphs = myText.split("\\n");
List<String> result = new ArrayList<String>();
for (String paragraph : paragraphs) {
result.add(paragraph.split("[\\.\\?\\!][\\r\\n\\t ]+")[0] + ".");
}

return result.toArray(new String[result.size()]);
}

关于java - 用Java打印每个段落的第一句话,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6514947/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com