• ベストアンサー

テキスト内の分割

例えば、1つのテキストに「AAAaa」と入力し これをキーに1レコード生成するとします。 更にもう1つ、テキストを用意し、その内容と してカンマ区切りで「,bb,cc,dd」と入力させます。 結果として1レコード目の「AAA」をすべてに適応 させ、「AAAaa」「AAAbb」「AAAcc」「AAAdd」と 合計4レコード生成させたいわけです。 問題となるのは基盤となる「AAA」の存在と、カンマ で区切った3レコード分のデータをどうつなぎ合わせる かというところなのですが、今ひとつ、思い浮かびませ ん。 どうぞよろしくお願いします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

下記を参考にしてもらえば、質問点は語り尽くせますか。 Split関数はVer5.0からだったと思います。 標準Moduleにいれてテストしました。Form1は解放して下さい。 Sub main() a = "AAA" b = "aa,bb,cc,dd" x = Split(b, ",") For i = LBound(x) To UBound(x) MsgBox a & x(i) Next i End Sub

siamzou
質問者

補足

Split関数、非常に便利ですよね。 私が今一番困っていることは、分割なので まずは"AAA"と他",bb,cc,dd"に分けるための 最良の方法を教えていただきたい、こう思って るわけですが。。。何か簡単な方法、あります でしょうか?よろしくお願いします。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

>(1)"AAA"と他",bb,cc,dd"に分けるための 最良の方法を教えていただきたい、こう思って・・・ AAAaaのAAAとaaを分離したい、と言うことらしいですが AAAとaaを区別する(特徴付ける)ものは何ですか。 まさか大文字・小文字とか全角・半角文字ではないでしょうね。桁数で分離できるほどの簡単なことなら質問にも ならないでしょうしね。 >(2)初めは「「AAAaa」と入力し これをキーに1レコード生成するとします。」 とあったが、補足では「"AAA"と他",bb,cc,dd"に分けるための 最良の方法」と表現が変っています。もう少し実際の匂いのする、例で説明してもらわないと(記号化されすぎていて)題意を掴みにくいです。 >(3)他",bb,cc,dd"・・ bbの前のカンマで始まっている意味はなんでしょうか。 入力はAAA,aa,dd,cc,ddエンタと入力するのですか。 じゃあないですよね。 >(4)更にもう1つ、テキストを用意し、その内容と してカンマ区切りで「,bb,cc,dd」と入力させます テキストとはテキストボックスのことですね。 テキストボックスが2つあり、 1つにはAAAaaが入り、2つ目にはbb,cc,ddが入る。 一つ目のAAAaa分離さえできれば、質問は済みですか。 >(5)Split関数、非常に便利ですよね。 既にご存知と言うことですね。

siamzou
質問者

お礼

お粗末な説明で、ご迷惑をお掛けしたことを深くお詫び 申し上げます。無事に解決致しましたのでご連絡しまし た。次回からはもう少し分かりやすく説明できるように 努力致しますので、またよろしくお願い致します。

  • craftsman
  • ベストアンサー率49% (166/336)
回答No.1

 まず「AAAaa」を「AAA」と「aa」に分離。  「aa」と、「,bb,cc,dd」をフィールドごとに分離した物を、配列変数(A)に代入。  配列の要素数だけループして・・・  ループの中でB(index) =「AAA」 & A(index)連結しながら別の配列に移す。  連結された後の文字列が配列B()に格納されます。  アルゴリズム的にはこんなもんじゃないですか?

siamzou
質問者

お礼

ありがとうございました。

関連するQ&A