• 締切済み

【VB.net】特定の文字から7文字を複数回取得

お世話になっております。 VB.netで、特定の文字から7文字を複数回取得したいのですがうまく出来ません。 instr、midを使うまでは分かったのですが、複数回となると出来ませんでした。 例: 01.aaa:00-0001 02.bbbb:00-0002 03.ccccc:00-0003 04.dddddd:00-0004 05.eeeeeee:00-0005 ↓ 「:」の後ろから7文字を取得。検索回数は5回と決まっておらずランダム。 00-0001 00-0002 00-0003 00-0004 00-0005 としたいです。 先生方、お忙しいところ申し訳ありませんがお力をお貸しくださいませ。 よろしくお願いいたします。

みんなの回答

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

1つ見つかったら、「その続きから検索」すればよいのです。 InStrで先頭を見付け、そのあとの7文字を取り出したら、次は何文字目からInStrすればよいのか、わかりますね? そして、「指定した位置以降の文字列」はどうすればよいか、わかりますね(midを使っているくらいですか)? 別解として、正規表現を使って、一致する箇所全てを抽出する、という方法があります。

koujikun1978
質問者

お礼

返事が遅くなり申し訳ありません。 色々試してやってみましたが、どうもうまくいきませんでした。 色々勉強してまたうまくいかなかったら再度質問しようと思います。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Rubyで文字列の抽出

    Rubyで質問があります。 AAAA;BBBB、CCCCC=DDDDD という文字列が存在したときに、 AAAAとBBBBとCCCCCとDDDDDの文字列を取得したいです。 splitは、特定の区切り文字しか対応していないようなので、複数の区切り文字を指定出来る方法はありませんでしょうか? 確かにsplitで地道に処理するより もうちょっと効率的な方法はないか知りたいです。

  • htmlから特定の文字を取得するには

    VB2005初心者です webbrowserコントロールで表示させたwebページのソースの中にある 特定の文字を取得したいんですけど 例えば <a href="http://〇〇〇〇〇〇〇〇〇〇/〇〇/〇〇/△△△△△△△">△△△△△△△</a> <a href="http://〇〇〇〇〇〇〇〇〇〇/〇〇/〇〇/□□□□□□□">□□□□□□□</a> というhtmlの中から △の文字列と□の文字列だけテキストボックスに表示をさせたいのですが どうすればよいのでしょうか? △はTextBox1 □はTextBox2 の様な感じにしたいです 正規表現やInStr関数など試してみたのですがうまくいきません どなたかご教授お願いしたします ソースなど記述して頂けると助かります

  • 複数行の文字列を変数として使う方法

    Excel2010 VBAを使っています。 ファイルAに AAA BBBB CCCCC DD ・・・ というように50行程度に渡って文字列が書かれています。 この文字列をファイルB(これも同じく文字列が書かれています)と合体させるプログラムを作っています。 このプログラムをほかのPCでも使用したいのですが、 xlsmファイルとともにファイルAも同時にコピーする必要があり不便です。 ファイルAの内容を標準モジュールの中に保存したいのですが どのようにすれば良いでしょうか? dim a(50) a(0) = "AAA" a(1) = "BBBB" a(2) = "CCCCC" a(3) = "DD" ・・・ というように配列として保存しておけば、これができるのですが、 いちいち、ダブルクオテーションマークでくくって 上記のようなコードを書くのが面倒です。 例えば、 a = "AAA BBBB CCCCC DD ・・・" のように複数行に渡る文字列を変数として用いたいのですが このようなことは可能でしょうか?

  • VB.netで検索した文字の後の文字列を取得

    VB.net(2010)でテキストファイルから特定の文字を検索してその後にある文字列を取得するにはどのようにすれば良いでしょうか。 【具体例】 C:\testフォルダ以下にある複数のtextファイルから"aaa"の文字を検索して、その後にある"xxx"を取得する。(同じ行にある文字列) 【textファイルの中身】 111 aaa xxx 222 ご教示のほど、よろしくお願いします。

  • VB6.0 特定の文字列の取得方法

    環境:WINDOWS 2000 Visual Basic 6.0 (1)htmlファイルをInbutB関数で読み込み、変数AAAに代入 (2)Instr関数を使用して Instr(htmlが格納された変数,"<td")などと特定の文字位置を検索 (3)mid関数などで特定の文字位置から文字位置を抜き出す  例:mid(AAA,<TD>開始位置A,文字列開始位置B) 上記のようなことをやりたいと考えています。 今回困っていることは<TD>開始タグの文字位置の検索です。 <td valign="top" align="right" width="600"> width="600"のtd開始タグの位置を検索したいと思っています。 ファイルは複数あり、<td と width="600" の間に入っているものも異なり、またシンプルに<td width="600>というパターンも存在します。 こういった場合、どの用に特定の条件を満たした<TD>タグの位置を検索すればよいでしょうか?

  • Excelで特定の文字を抜き出す

    Excelで関数を使い、特定の文字列を自動で抜き出し、二つの列に分けたいです。 あいうえお0X =AAA= かきくけこ00 =BBBB= さしすせそ000 =CCC= たちつてと0 =DD= なにぬねの00X =EEE= はひふへほ000 =F= 上記のようにA1~A6に、文字数も文字もバラバラのセル列があったとします。 これを以下のように分解したいです。 例: A1:あいうえお0X =AAA= A2:かきくけこ00 =BBBB=    ↓ 「B1:あいうえお0X」と「C1:AAA」 「B2:かきくけこ00」と「C2:BBBB」 関数を教えて下さい。

  • 特定文字列の抽出

    VB6の質問です。 桁数、データが不定の文字列中から特定文字を抽出したいのでが、方法を教えていただけないでしょうか? 抽出したいデータの桁数が毎回不定でMid, Left, Right関数が使用できません。 Dim Buffer As String Buffer = "A12345...B678910.TRAGET..C" '桁数、データが不定の文字列がBufferに入ります。 例えば、変数Bufferから、桁数を考慮しないで"TARGET"の文字列を抽出したのです。 InStr関数で、位置を特定して、Mid関数などで抽出するれば、良いと思うのですが これをどんな桁数のときも対応できるようにルーチン化にできないでしょうか?

  • outlook vba 文中の文字列取得

    outlook vba 文中の文字列取得 本文中に、 日付:9/10 名前:田中 住所:東京 とあるとき、田中 を取得したいのですが、 名前: から改行までの文字列について、 Mid(objItem.Body, InStr(objItem.Body, "名前:") + 4, (InStr(InStr(objItem.Body, "名前:"), objItem.Body, vbCrLf))) で取得しようとしましたがうまくいきません。 田中からあとすべてが取得されてしまいます。 何か間違っていますでしょうか?

  • 特定のフィールドの文字列を取得

    初心者ですがよろしくお願い致します。 □わからない事 ・特定のフィールドの文字列を取得 ・取得した文字列を配列に格納 □条件 ・mysqlにはすでにデータが登録済み ・PHPより操作 □具体例 フィールド名(hogehoge)に文字列が入っています。 AAAAAA(10000レコード) BBBBBB(5000レコード) CCCCCC(3000レコード) DDDDDD(1000レコード) ・・・・・・(・・・・レコード) 重複が多数ありますが、重複しない文字列だけを取り出して配列に格納したいと思っていますが、うまいやり方がわかりません。 どなたか教えて頂けませんか? よろしくお願い致します。

    • ベストアンサー
    • MySQL
  • アクセス2000で文字列に文字を挿入する方法。

    InStr関数で、特定の文字(例えば、;)を探して、Mid関数を使って、その文字を特定の文字(例えば、【)に置き換えることには成功しました。 しかし、「;」を「【第」に置き換えようとすると必要なデータまで消してしまいます。「【」は置き換えでよいとしても、「第」は挿入する必要があるのですが、どのようなコードを使えばいいのでしょうか?