けいじゅ@日本ラショナルソフトウェアです.

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 <<---