Rubyを使用して、テキストのブロックを分割する必要があるドキュメントを解析しようとしています。各ブロックには見出しがあり、その後に不明な長さのテキストが続き、それらを配列にプッシュします。
SECTION 1. A HEADING
Some undetermined length of text,
which can be multiple lines and paragraphs.
SECTION 2. ANOTHER HEADING
Another big block of text.
になる必要があります
["SECTION 1. A HEADING
Some undetermined length of text,
which can be multiple lines and paragraphs.",
"SECTION 2. ANOTHER HEADING
Another big block of text."]
を使用することもできますstring.split(/\n\n\n/)
が、各セクションの後に2行の空白行があることを保証できないため、より具体的なものが必要です。もう少し実験することで、私はこれにたどり着きました。
string.split(/(?:^|\n)(SECTION.+\n)/).each do |s|
sections << s
end
しかし、必要なものを取得するには、出力を再度処理する必要があります。
複数のパスを実行せずにこれを実行する方法はありますか?
ご協力いただきありがとうございます。