正規表現で TSV から CSV に変換する


TSV を CSV に変換することが多々あるのですが、タブをカンマに変換すればいいんだろ?楽勝じゃん!とか思っていると、データに「,」が含まれていたりして困ったものです。ですので、正規表現でカンマが含まれている部分を””で囲ってあげようと思います。

(?<=^|\t)([^\t]*?,[^\t]*)(?=$|\t)

↑を↓に置き換えます

"\1"

これでカンマがいても怖くありません。あとは普通にタブを置き換えるだけです。

\t

↑を↓に置き換え

,

ただし、”\t” のような “” でタブ文字が囲われている形式には対応できません。あまりないと思いますが・・・