前提・実現したいこと
オンライン小説のテキストファイルを読み込み、特定の行(「」『』で囲まれた行)だけを正規表現で抜き出し、新規で作ったテキストファイルに抜き出した行を書き込むプログラムを組みたいです。言語はRubyです。
発生している問題・エラーメッセージ
抜き出したテキストのファイル書き込みが行われない。
該当のソースコード
# encoding: UTF-8 File.open("結合結果.txt","r",:encoding => Encoding::UTF_8, :invalid => :replace, :undef => :replace) do |io| while line = io.gets episode = line.chomp! File.open("台詞集.txt","w"){|f| episode.scan(/(「|『)([a-zA-z]|[^a-zA-z]*)(」|』)/) do |a,b,c| serif = a + b + c f.write serif end } end end
以下のような結果が新規で作ったテキストに書き込まれていてほしい。
「○○○~」←最初の行
『○○○~』
・
・
・
『○○○~』
「○○○~」←最後の行
試したこと
# encoding: UTF-8 File.open("結合結果.log","r",:encoding => Encoding::UTF_8, :invalid => :replace, :undef => :replace) do |io| while line = io.gets episode = line.chomp! #puts episode episode.scan(/(「|『)([a-zA-z]|[^a-zA-z]*)(」|』)/) do |a,b,c| serif = a + b + c puts serif end end end
puts serif をしたところ、実際に「」『』で囲まれた文章が抜き出せていました。
補足情報(FW/ツールのバージョンなど)
Rubyのバージョンは2.5.7です。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/21 02:11
2020/06/21 02:23