vbで再検索をするには?

解決


BB  2008-09-25 06:26:23  No: 140519

こんばんは。
vbで、検索した結果の、その文字の次の文字から再検索する
には、どんな処理をしたらいいのでしょ。
  よかったら  アドバイスおねがいします。
行と位置、内容の表示をさせたいのです。

a1に以下の内容があった時
a1(0) = "例、例、例"
a1(1) = "一石一石"
a1(2) = "例、例例れえ"
a1(3) = "石橋を渡る"
a1(4) = "四面楚歌"

a2に”例”と入力して  検索ボダン(クリックイベント)をおすと
1(行)、1(位置)、文字列内容と表示され
もう一回検索ボタンをおすと
3(行)1(位置)、文字列内容が表示される
のが以下のプログラムです。

a2 = TextBox1.Text
For s = s To UBound(a1)
r += 1
i = a1(s).IndexOf(a2, 0)
Do While i <> -1
Label2.Text = r
Label4.Text = a1(s)
Label3.Text = a1(s).IndexOf(a2) + 1
s += 1
Exit For
Loop
Next

  これを、これを文字単位で表示させたいのですが?
  たとえば、
a1(0) = "例、例、例"
例で検索した時
検索おしたら      1(行)1(位置)が表示され、
もう一回押したら  1(行)2(位置)が表示されるような
ことです。
  長い文章ですみません、アドバイス等よろしくおねがいします。


uzy  2008-09-25 19:54:57  No: 140520

こんばんわー
かっこ悪い方法かもですが、instrとかどうでしょう?


BB  2008-09-25 20:35:45  No: 140521

ありがとうございます。
instrとindexofって  0か-1の違いだけじゃないのでしょうか?
  ちがってたらすみません。


uzy  2008-09-25 22:36:45  No: 140522

あああ少し勘違いしてましたすみません
ほとんど一緒ですねorz

検索場所を保持する変数を用意して、
検索する際に「開始位置を設定」してあげると出来ますネ


BB  2008-09-25 22:52:24  No: 140523

ありがとうでした^^。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加