私はこの正規表現を持っています:(?<![A-Z])(?<=[.!?])\s(?=[A-Z])
それは段落を文に分割します(すべての空白に基づいて)。
私はこの段落でそれを使用しました:Did he know that J. Smith is a name? The term is most commonly applied to the placing of a warship in active duty with its country's military forces. The ceremonies involved are Often rooted in centuries old naval tradition. I.D. is a wonderful word.
「J. Smith」で切れるのは、「.」が「.」だと思うからです。文の終わりを表します。
re.split() を使用して配列を出力し、値を改行で区切ります
これは、上記の段落からの出力です。
Did he know that J.
Smith is a name?
The term is most commonly applied to the placing of a warship in active duty with its
country's military forces. (no newline at beginning of sentence)
The ceremonies involved are Often rooted in centuries old naval tradition.
I.D. is a wonderful word.`
「ID」では機能しますが、「J. Smith」では機能しないのはなぜですか? 論理的には...
文字列でこの構造を検出したい:
大文字なし+ピリオド/?/!+空白+大文字