2011-06-18 11 views
2

csvファイルをmysqlにインポートしようとしていますが、インポートする前に適切な形式に変換する必要があります。列にカンマがある場合メモ帳++ regex replace - 引用符で囲まれたですべてのカンマを置換する

は、CSVはここで、二重引用符の中でそれを囲むコンマせずに行の例だと、カンマで行:私がする必要がどのような

1,Superman 
2,"Batman,Flash" 

ですここで私がこれまで持っているものだな"Batman,Flash"

Batman\,Flashのようにカンマをエスケープし、引用を削除するコンマを持っているすべての列を変換するには...

Find: "(.*),(.*)" 
Replace: \1\\,\2 
引用された列をwithingつ以上のコンマがあります場合にのみ1つのカンマを置き換えます

  • はしかし、これは動作しない2つの場合があります。したがって、"Batman,Flash,Robin"のようなものはBatman,Flash\,Robinに変換されます

  • 最初の列にもカンマがある場合、これは機能しません。たとえば、次のような行の場合"1,2,3","Batman,Robin"

正規表現を変更して、まだ動作していない2つのケースに対応するにはどうすればよいですか?

答えて

1

申し訳ありませんが、正規表現はではありません。このためのツールはです。あなたはそれを解析する必要があります。

なぜですか?

これを変換しますか?

"test\, w00t!" 

これはどうですか?

"test\\\\\, w00t!" 

ヘック、これも?

"tes\\","\"ing\,\\," 
+0

私の脳は今や痛い!何がお勧めですか?これをどのように解析するのですか? – HyderA

+0

申し訳ありませんが、私は頭の上からパーザーを知らないので、誰かがこれに対する解決策を投稿してくれることを願っています。あなたは自分で作ることができますが、私はあなたの時間の価値があるとは思いません。 – orlp

+2

テキストエディタでは、すべてを1回のパスで行う必要はありません。いくつかの手動作業が関与しているかもしれません。 – BoltClock

関連する問題