#!/usr/bin/env ruby # coding: utf-8 db = [] count = -1 # 登録処理中の配列の要素番号 open("syllabus.txt", "r") do |df| while line = df.gets if /^科目名:\s*(.*)/ =~ line # 行頭「科目名:」空白(任意文字列) count += 1 db[count] = Hash.new db[count]["科目名"] = $1 elsif /^(\S+):\s*(.*)/ =~ line # 行頭(非空白続き):空白(任意文字列) db[count][$1] = $2 end end end p db # 結果確認用