• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Ruby 正規表現による文字列取得)

Ruby正規表現による文字列取得

このQ&Aのポイント
  • 正規表現を使って文字列を取得する方法を学びたい。
  • 正規表現を使って取得したい文字列の部分を指定し、取得する方法を知りたい。
  • 質問文章のプログラムの一部で正規表現を使って文字列を取得しようとしているが、うまくいかない。どう直せば良いか教えて欲しい。

質問者が選んだベストアンサー

  • ベストアンサー
  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.2

OS不明の為、linux前提で回答します。 /home/edinet/E05267/S1001YX6/index.html このデータの改行がrubyできちんと認識されていないように見えます。 (htmlなのでブラウザでは改行されているように見えるかと思います。) cat -n /home/edinet/E05267/S1001YX6/index.html として、行番号付きで表示したとき、きちんと表示されるでしょうか。 例えば、index.htmlが1行で記述されていたなどということはないでしょうか。 提示されたスクリプトは、index.htmlが(rubyから見て)きちんと改行されていることが前提です。

alpacasan15
質問者

補足

回答ありがとうございます。 調べたところ、確かに改行の数が少なく、長く取得してしまう原因となっているようでした。 そこで対策を取りたいのですが、これは元々のhtmlに置換などで改行文字を与えてやれば良いのでしょうか? それともRubyの方でまた別のメソッドがあるのでしょうか。 お願いします。

その他の回答 (1)

  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.3

#2です。 >そこで対策を取りたいのですが、これは元々のhtmlに置換などで改行文字を与えてやれば良いのでしょうか? もし、それが簡単にできるようでしたら、その方法を推奨します。(1案) >それともRubyの方でまた別のメソッドがあるのでしょうか。 特に、rubyに簡単にできるメソッドが用意されているわけではありません。 もし、行うとすれば、スクリプトの全面的な作り替えになります。 考えられる方法としては、以下のような方法があります。(2案) 1.index.htmlを全て読み込み、改行を全て削除した文字列を作成する。 2.その文字列に対して、マッチングを行い、希望する文字列を取り出す。 従って、1案を推奨します。 1案を何らかの理由でさけたい場合のみ、2案を行うのがよいかと。

関連するQ&A