私は本の断片である文字列を持っています(その約1章)この文字列はすべて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 (
それを実現する実際のコードとともに、他の提案は本当にありがたいです。
同様の質問: ここ
アップデート:
私の本には直接引用や直接スピーチがあまり含まれていないため、優先順位のリストの上位にはありませんが、それらの中にある文を処理するルールも、同じ引用からの文が新しい行に終わらないようにするためのものです。