2010-12-10 8 views
0

Rubyでは、引用符内のコンマを識別する正規表現とは何ですか(「dog、cat、foo、bar」など)?私の目的は、CSVファイルをTSVに変換することです。私のフィールドの一部には、引用符で囲んだ文字列が含まれています。CSVをTSVに変換するためのRegEx

+0

フィールド内に埋め込みコンマがある可能性があるため、CSVファイルは正規表現で実際の不具合を再生できます。 @Doonはパーサに頼っているほうがよいと提案しています。 –

答えて

3

正規表現にする必要はありますか?あなたのfav csvライブラリを使用してCSVを解析し、タブを使って再結合できますか?

require 'csv' 

test = '"foo,bar,baz",one,two,three' 
CSV.parse_line(test).join("\t") 

    "foo,bar,baz\tone\ttwo\tthree" 
+0

ありがとう、Doon!期待通りに機能したFasterCSV :: parse_lineを使ってしまいました。 – mbm

+0

ファイルを変換する(タブを含まない): 'CSV.read(" temp.csv ")。map {| row | row.join( "\ t")} .join( "\ n") '。 – user495470

関連する問題