split で末尾の空要素も欲しいとき
Ruby の String#split は末尾の空の要素を取り除く。
"1,2,3".split(/,/) # => ["1", "2", "3"] "1,,3".split(/,/) # => ["1", "", "3"] "1,,".split(/,/) # => ["1"] # 要素は 3 個のはずなのに
どうせ空なんだし、どうでもいいよと思っていたけど、CSV ファイルの最後の項目だけ抜き出そうとしてハマッた。
これを防ぐ方法をどこかで見たはず ...... 思い出した。
第24回 Ruby/Rails勉強会@関西に参加しています - 趣味的にっき
znz さんのコメントにその答えが。
"1,,".split(/,/) # => ["1"] "1,,".split(/,/, -1) # => ["1", "", ""]
作業を終えてから「るりま」を見たら、ちゃんと書いてあった。
「るりま」すばらしい。