- - PR -
csvデータを正規表現で抽出する
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-08-19 19:41
ですね。perlではすっきり書けて、しかも1行でOKなんですが。 その後、一旦パターンを当てはめる方法でやろうと試みましたが、エスケープ文字の 判定が正しく行われず玉砕しました。 [ メッセージ編集済み 編集者: Ken-Lab 編集日時 2004-08-19 19:43 ] [ メッセージ編集済み 編集者: Ken-Lab 編集日時 2004-08-19 21:55 ] | ||||||||
|
投稿日時: 2004-08-19 20:16
がるがるさん、どもどもこんにちは。 ¥でエスケープする記述はJavaでは良くでてきます。 二重 ”にする記述、たとえば String str = ""ABC""; とすると、""の隙間が文字列として認識されるので、こう書くと 空文字列 意味不明なABC 空文字列 となります。この場合の記述は String str = "¥"ABC¥""; ですね。(ということで、答えになってますでしょうか?) [ メッセージ編集済み 編集者: Ken-Lab 編集日時 2004-08-19 20:18 ] | ||||||||
|
投稿日時: 2004-08-19 20:51
Javaに限らず、C言語やUNIXなどのシェルでも「¥」が使われますが、
マイクロソフトは「""」です。 | ||||||||
|
投稿日時: 2004-08-20 15:48
どもです。返信ありがとうございます。
んと、多分根っこにあるのは、シュンさんのおっしゃってる通り ・そもそもCSVって標準化されていない(RFCが欲しい(笑)) ・なんとなくExcelの挙動がデファクトスタンダードっぽい ってあたりなのですが。 んと、一応念のため。通常の文字列挿入において¥でエスケープする のは、Javaに限らず、PerlでもPHPでもCでもC++でもシェルでもSQLでも 一般的なので、そのあたりは理解しているです。 ただ、「"Java"で"CSV"を扱うとき」に、¥エスケープをするのが 標準なのかどうか、ってのに興味がありまして。 CSVって結構よく(特に私が知っている限りの現場では)使われる フォーマット形式なので、このあたりって非常に興味がありまして。 まぁメインから外れた雑談なので、軽くとらえていただけると。 しかし…だれかRFC書かないかなぁ… | ||||||||
|
投稿日時: 2004-08-20 20:56
失礼しました。
ちなみに、SQLにエスケープシーケンスは無いですよ。SQLを扱える言語の方のエスケープシーケンスですから。
JavaでCSVっていうより、Javaから単にテキストファイルをリードライトしているだけですから、この場合、全然関係ない気がします。 なんなら「"」を使わないCSVファイルを扱えばいいだけですし。
それより一般のパワーユーザにXML普及してほしい。 | ||||||||
