カンマ区切りのデータを処理する方法

このQ&Aのポイント
  • カンマ区切りの可変長データを処理する方法について教えてください。
  • vb6.0 + oracle9i(oo4o)で開発しており、カンマ区切り形式のデータがあります。
  • 各項目に対してTRIMをかける方法や、カンマの判断方法についてご教示ください。
回答を見る
  • ベストアンサー

カンマ区切りのデータを処理する方法

よろしくお願いします。 vb6.0 + oracle9i(oo4o)で開発しています。 元データの中には、カンマ区切り形式で全角・半角・ブランクありの可変長です。(テキストデータではありません) 例えば、 111bb,22222,333333,44bb 11,234bb,33bb,44     見たいなデータです。 カンマの数は変わりませんし、各項目自体にカンマはありえません。 この各項目を個々に取り込んで処理したいのですが... MID関数(MID$,MIDB)など色々試してみるのですが 対応しきれなくなってしまいました。 各項目に対してTRIMをかけて処理をしたいのですが、 良い方法はあるのでしょうか? カンマ間を一つの項目として判断でき、 TRIMがかけれれば一番よいのですが... 文字を一文字ずつ読んでいって、カンマを判断するしかないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • nicnicnic
  • ベストアンサー率47% (8/17)
回答No.1

始めまして。 ご参考になりますが、 dim strAry() as string strAry = split(strInput,",") で、配列に格納できます。後は、それぞれの要素を trimしてみてはいかがでしょうか? ちなみに元のカンマ区切りに戻すときは strOutput = join(strAry,",") でできます。

Ref16570
質問者

お礼

お早いご回答ありがとうございます。 ご回答いただきました、sprit関数に関しまして、 色々調べて、試してみたところ、問題なく処理できました。 sprit関数自体の存在も知りませんでした。 プログラミングが大変楽になりました。 勉強になりました、感謝いたします。

関連するQ&A

  • EXCEL カンマ区切りされたデータをVlookup関数で処理

    EXCELに関して、教えていただきたいことがあり、 投稿させていただきます。 一つのセル内に・・・ A1,B1,C2 とカンマ区切りされたデータがあり、 それをVlookup関数を利用して、 佐藤さん,田中さん,鈴木さん とカンマ区切りのままで、 データ呼び出し処理をしたいと考えています。 A1,B1,C2の段階でセル分割を行い、一つずつのセルで Vlookup関数を使えば、呼び出すことはできましたが、 扱う件数が多いため、一発処理ができればと考えております。 ご存知の方、教えていただけますでしょうか。 よろしくお願いします。

  • csvカンマ区切りデータに=""を入力したい

    csvカンマ区切りデータに、例えば、 ="00",="123",="456" といった感じで入力したいのです。 大元のcsvカンマ区切りデータで、 00,123,456 が入っているので、これをExcelを使ってText変換や書式設定で文字列にして みたのですが、csvデータとしては=""としては保存されていないのです。 どなたか、こういった型変換に詳しいかたご連絡をお待ちしています。

  • 区切り文字をTABにしたい

    CGI-Perl初心者です。 エントリデータを、カンマ区切りテキストデータで保存するようにしていますが、(入門書のファイル操作を参照しながら何とか作れた代物です)後で大きな問題が発生しました。このデータには金額を入れる項目があって、例えば10,000円とカンマを入れると当たり前ですが、区切り文字と判断して10と000円を分けてしまうのです。そこでTAB区切りテキストデータに変更したいのですが、 $data=join(",",変数,変数,変数,変数); としている","の部分をタブにするにはどうしたら良いのでしょうか?

    • ベストアンサー
    • Perl
  • データ書き出し時の、データ区切りについて

    初心者ですが、ご教授ください。 Perlなどで、データを書き出す時に、よく、<>とか、,(カンマ)とか使うと思うのですが、その他の区切り文字として何がオススメなのでしょうか?アフィリエイトなどのリンク先URL内で、<>とか、,(カンマ)とか、"(ダブルクォーテーション)などが使われているため、これに換わる、区切り文字は、何がよいのか教えてもらいたいです。

  • エクセル:桁区切り「カンマ」でセルが分割されて貼り付けされてしまう

    仕事で社内のシステムから売上の情報をコピーしてエクセルに貼り付けて処理をしようとしたところ、コピーした数字に「桁区切りのカンマ","」がある関係で、 たとえば 1,234,567 という数字が 1 と 234 と 567 とセルが分割されて貼り付けられてしまいます。 CSVファイルのカンマ区切りデータと同じように情報がカンマで分割されてしまっているようなのですが、貼り付けの際に分割されないようにするにはどうしたらよいでしょうか? ちなみに、これらデータはスペースで区切られているので一度テキストファイルに保存して、CSVを開くときの区切り文字の設定を「スペース」に設定すればうまく開くのはわかるのですが、コピーして即貼り付けのときにこのようになることを回避する方法はあるのでしょうか?マクロを組んでも構いません。 どうぞ、ご教授、宜しくお願いします。

  • カンマ区切りのデータを配列に読み込みたい

    趣味でゲームを製作しているのですが、その中で、 マップデータのテキストファイルを二次元配列に読み込むようにしています。 データファイルは、カンマ区切りで、例えば、 1,2,3,4,5 5,4,3,2,1 1,2,3,4,5 というようになっています。 fp=fopen(path,"r"); for(j=0; j<3; j++) { for(i=0; i<5; i++) { char c; do{c=(getc(fp));} while(c==','||c=='\n'||c=='\r'); map[j][i] = c-'0'; } } 配列の各要素に読み込む中身が、0~9など1文字に限られている場合、このgetc()を使う方法で問題ないのですが、0~255など、文字数がまちまちになると、1文字を取り出すgetc()ではできなくなってしまいます。 これがどうすれば可能になるのか、情けないのですがちょっと思いつかないので、アドバイスを頂ければ幸いです。

  • データグリッド内の数値をカンマ区切りで表示

    超ド素人です。よろしくお願い致します。m(_ _)m データグリッドに表示しているデータ(金額)を カンマ区切りで表示するにはどうしたらよいですか? for ~ next で処理する間に、 どのように記入すればよいのでしょうか? テーブルのデータ型は数値です。 kingaku  →   kingaku 1234567      1,234,567 プログラムは、ASP.NETです。 よろしくお願い致します。

  • BULK INSERT カンマ区切り

    以下のようなカンマ区切りのCSVファイル "aaa","bbb","cccc" をMSDEにインポートしたいと考えており、バッチでosqlを利用してBULK INSERT処理をしています。 CSVファイルには以下のように「,」、「"」も入る可能性があります。(「"」の場合は「""」で入る) "aa,a","b""bb","cccc" このような場合、BULK INSERTで可能な方法はありますでしょうか。 バッチのみで実行することが条件です。 ご存知の方がいましたらご教授頂けると幸いです。

  • csvカンマ区切りデータの特定列を置換したい

    csvカンマ区切りデータの数百列のうち特定データに固定長文字列を入力したいのですが、 正規表現機能を使って文字列置換する方法が知りたいのです。 たとえば、  111, 2, 33,以降省略・・・,100 を  111,="02",="033",以降省略・・・,100 と言った様に置換したいのです。100は仮ですので入力が省けれれば省きたいです。 上記の場合は、2列目を2桁の文字列、3列目を3桁の文字列として入力する場合です。 以上、よろしくお願いします。

  • VB5.0でカンマ区切りで編集した値をEXCELのシートに移送したい

    VB5.0でカンマ区切りで編集した文字型変数を、Excelのシートに移送したいのです。 1項目ずつなら xlSheet.Cells(Row, col) = 変数名 でよいと思うのですが、レスポンスの問題があり、カンマ区切りで複数行にわたり編集した変数を1行で、Excelシートに移送できないかと思っています。