rubyプログラムで作成中なのですが、どうしてもわからないことがあり質問させてください。
以下のテキストファイルから
test.txt
【名前】山田 太郎【年齢】11歳【身長】128cm 【名前】山田 太郎1【年齢】11歳【身長】128cm 【名前】山元 太郎123【年齢】11歳【身長】128cm ・ ・ ・
⑴名前だけを抽出したいのです。正規表現だと【名前】山田 太郎【年齢】と括弧で括られた表題まで抽出してしまいます。これを正規表現のみで抽出する方法はあるのでしょうか?また、rubyではそれよりも良い方法はあるのでしょうか?
⑵line.matchを使用するとStringではなくMatchDataの型になってしまいます。あとの処理上Stringにしたいのですが、処理方法がわかりません。
そもそもあとの処理でStringが必要ならば、matchは使わないほうがいいのでしょうか。
これがベストといったやり方がわからず、困っています。
現在のコードは以下です。
ruby
1File.open('test.txt', 'r:utf-8') do |f| 2 f.each_line do |line| 3 name = line.match(/【名前】.*【年齢】/) 4 put name 5 end 6end
どうかご教授お願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。