けいじゅ@日本ラショナルソフトウェアです. In [ruby-list :18289 ] the message: "[ruby-list:18289] Re: [book] csv_split2 ", on Nov/02 18:05(JST) Koretsugu Daigoro writes: >これつぐです。 > > >手元にある自前のをちょっと修正してみました。 >当時の私がどう考えていたのかはわかりませんが、 >「foo,」で取り出さずに「,foo」で取り出しているので、 >$ の問題は起きないと思います(多分)。 $の問題はないようですが, 何かバグがあるみたいです. csv_split(',"z","b",b,') => ["", "b", "b", ""] >def csv_split(source, delimiter = ',') > csv = [] > > qd = Regexp.quote(delimiter) > source.scan(/(?:^|#{qd})(?:"((?:[^"]|"")*)"|([^#{qd}]*))/) do > #↑(先頭|区切文字)("文字列"|文字列) > |m1, m2| > csv.push(m2 || m1.gsub(/""/, '"')) > end > csv >end それにこのプログラムは元と違いすぎて採用しづらいなぁ... # 説明部分を大幅に変更する必要が出てしまいますので(^^;;; __ ..............................石塚 圭樹@日本ラショナルソフトウェア... ----------------------------------->> e-mail: keiju / rational.com <<---