解析する必要のある大量のテキスト ファイル (以下を参照) があります。それらには、関連付けられたレコードを作成するために取得して使用したい章の情報が含まれています。Report has_many :chapters
基本的に、各行を読み、それぞれBookmarkTitle
の章の名前をキャプチャして (CR を無視して
) をキャプチャする必要がありBookmarkPageNumber
ます。次に、ペアリングをまとめて新しいレコードを作成します。report.page.create(title: bookmark_title, page_number: bookmark_page_number)
IOの readlineで少し遊んだことがありますが、コンテンツをキャプチャする方法がわかりません...おそらく正規表現ですか?またはよりRails-yの方法ですか?
サンプル txt ファイル:
InfoKey: Creator
InfoValue: Adobe Acrobat 9.3.4
InfoKey: Producer
InfoValue: Adobe Acrobat 9.34 Paper Capture Plug-in
InfoKey: ModDate
InfoValue: D:20110315193536-04'00'
InfoKey: CreationDate
InfoValue: D:20110208171413-05'00'
PdfID0: 2dab1ce43882a53cbc24dbb839f921f8
PdfID1: 43b19192e920f38f65de0bf0a2be
NumberOfPages: 258
BookmarkTitle: 1980 Field Service Annual Report
BookmarkLevel: 1
BookmarkPageNumber: 3
BookmarkTitle: TABLE OF CONTENTS
BookmarkLevel: 1
BookmarkPageNumber: 4
BookmarkTitle: LIST OF EXHIBITS
BookmarkLevel: 1
BookmarkPageNumber: 7
BookmarkTitle: I - INTRODUCTION
BookmarkLevel: 1
BookmarkPageNumber: 11
BookmarkTitle: II - EXECUTIVE SUMMARY
BookmarkLevel: 1
BookmarkPageNumber: 16
BookmarkTitle: III - RESULTS AND ANALYSIS OF THE MAINTENANCE USER SURVEY
BookmarkLevel: 1
BookmarkPageNumber: 45
BookmarkTitle: IV - COMPARATIVE ANALYSIS OF BIGCO AND OTHER MAINTENANCE VENDORS
BookmarkLevel: 1
BookmarkPageNumber: 102
BookmarkTitle: V - RESULTS OF VENDOR SURVEY
BookmarkLevel: 1
BookmarkPageNumber: 127
BookmarkTitle: VI - SIGNIFICANT VENDOR ACTIVITIES, 1979-1980
BookmarkLevel: 1
BookmarkPageNumber: 190
BookmarkTitle: APPENDIX A: DEFINITIONS
BookmarkLevel: 1
BookmarkPageNumber: 199
BookmarkTitle: APPENDIX B: RESEARCH METHODOLOGY
BookmarkLevel: 1
BookmarkPageNumber: 204
BookmarkTitle: APPENDIX C: SUPPORTING CHARTS
BookmarkLevel: 1
BookmarkPageNumber: 211
BookmarkTitle: APPENDIX D: USER QUESTIONNAIRE
BookmarkLevel: 1
BookmarkPageNumber: 222
BookmarkTitle: APPENDIX E: VENDOR QUESTIONNAIRE
BookmarkLevel: 1
BookmarkPageNumber: 237