トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

BugTrack-wiki/291

ページの作成や編集にはユーザ登録が必要です。

テーブルで DQ を入れられない

  • 投稿者: Custom
  • カテゴリ: 本体
  • 優先度: 低
  • 状態: 却下
  • 日時: 2006年10月05日 17時53分17秒

 内容

テーブルで DQ(ダブルクォーテーション) でカンマを囲むとカンマをテーブルのカラムに入れられますよね。で、 DQ をカラムに入れるには DQ を連続で入れる("")といいはずなのですがうまくいきません。

,"test,test",""test,t""est,test

test,test t""est test

Wiki::Parser の 174 行目がマズイみたいですが直せませんでした。

 コメント

  • こんな感じでどうでしょうか? - KG (2006年10月05日 17時59分18秒)
,"test,test","""test",t""est,test

test,test "test t""est test

  • ありがとうございます。ただ、 t""est がうまくいきませんね。 - Custom (2006年10月05日 18時06分23秒)
    • あ、うまくいった。でも、ちょっと面倒ですね。対応できないでしょうか。
,"t""est"

t"est

  • ちょっと自身ないですが、以下のように変更してみてはどうでしょうか? - KG (2006年10月05日 18時32分35秒)
Parser.pm(174〜175行目)
my @spl = map {/^"(.*)"$/ ? scalar($_ = $1, s/\"\"/\"/g, $_) : $_}
              ($line =~ /,\s*(\"[^\"]*(?:\"\"[^\"]*)*\"|[^,]*)/g);
                           ↓
my @spl = map {/^"(.+)"$/ || /(.*\"\".*)/ ? scalar($_ = $1, s/\"\"/\"/g, $_) : $_}
              ($line =~ /,\s*(\"[^\"]+(?:\"\"[^\"]*)*\"|[^,]*)/g);
  • テスト不足なので不具合がでるかもしれませんが、従来のテーブル記述方法でも上手く動作するようにしているつもりです。コア側で採用されない限りこの修正を適用するのはどうかという気もしますが・・・。>たけぞうさんどうでしょうか? - KG (2006年10月05日 18時54分31秒)
  • ↑少し修正しました。 - KG (2006年10月05日 19時02分51秒)
  • あ〜、なんかこちらこそ勘違いがあったみたいです。サンプルありがとうございます。取り敢えず、却下にしておきます。 - Custom (2006年10月05日 19時56分32秒)
お名前: コメント:

最終更新時間:2007年04月12日 12時13分27秒