gpt4 book ai didi

java - 在句子末尾添加换行符

转载 作者:搜寻专家 更新时间:2023-11-01 02:51:19 25 4
gpt4 key购买 nike

我有一个字符串,它是一本书的片段(大约 1 章)这个字符串都是一行。我想在每个句子的末尾换行

我用一个不太复杂的代码解决了它

text = text.replaceAll("\\.","\\.\n"); //same for ? same for !

当然这不会产生很好的结果。我不需要它是完美的,但它越漂亮越好。

我想至少在创建换行符之前检查以下内容:

the word before the . is longer then 2 characters
there are no dots before the . in the same "word"
the character before the . is not a number
the character after the dot (and possibly a whitespace after that dot) is not a (

任何其他建议,以及实现它的实际代码,我们将不胜感激。

类似问题: Here

更新:

虽然在我的优先级列表中并不高,因为我的书不包含很多直接引语或直接演讲,但是处理其中句子的规则也是有序的,这样来自同一个 qoute 的句子就不会结束新行

最佳答案

Stanford's CoreNLP工具包有一个做句子分割的类。查看更多here .

如果你说 new DocumentPreprocessor(new StringReader(s)).iterator() 其中 s 是一个包含文本的字符串,它会给你一个迭代器句子。

请注意,这也会标记句子。如果你想让句子看起来像它开始的样子,你可以只使用这个输出作为 split 的指南,或者运行 PTBTokenizer -untok 命令(见上面相同的链接)来使每个标记化句子看起来又正常了。

这几乎肯定会比您的规则列表更有效,因为您的规则没有考虑到许多重要的情况。

关于java - 在句子末尾添加换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10639090/

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