• ベストアンサー

VB2010にて指定した文字の抽出

テキストボックスに、下記のように文字列が有ります。 そこで、2つ目の'>'以降の'RD 潜脳調査室 'という文字や 'i-wish you were here- 'を抽出したいのです。 2つ目の'>'以降の文字列や'あ'は変化します。 'トップページ > あ > RD 潜脳調査室' ↑や↓のような文字列。 'トップページ > あ > i-wish you were here-'

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

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.5

No.3です。 Imports System.Text.RegularExpressions ' 追加 Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim st As String = "トップページ > あ > RD 潜脳調査室" ' \s は半角スペースが1個あるとして ' もしない場合は削除してくださいね ↓ Dim re As New Regex("トップページ\s>[^>]+?>\s(?<name>[^>]+)>*") Dim m As String = re.Match(st).Result("${name}") MsgBox(m) End Sub End Class 変数:stにはソースが代入されているとした場合の参考になれば。

その他の回答 (4)

  • MSZ006
  • ベストアンサー率38% (390/1011)
回答No.4

こんな感じでどうでしょうか。 Sub test() Dim str As String Dim pos As Long str = textbox.Value pos = InStr(InStr(str, ">") + 1, str, ">") If pos = 0 Then MsgBox "error!" Exit Sub End If str = Right(str, Len(str) - pos) pos = InStr(str, ">") If pos = 0 Then str2 = str Else str2 = Left(str, pos - 1) End If MsgBox str2 End Sub

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.3

これが単なる文字列からの抽出なら良いのですが、 Webページからの抽出だとそのページによって 方法が変わるかも知れませんね。

回答No.2

単純に、「>」でSplit()して3番目の要素で良いのでは? ' 区切りで分割して配列に格納する Dim stArrayData As String() = Split(textBox.Text, ">") If 2 < stArrayData.Length Then '要素が3個以上の場合 MessageBox(stArrayData(2)) End If

  • MSZ006
  • ベストアンサー率38% (390/1011)
回答No.1

補足をお願いします。 「>」は2つだけしか出てこないのでしょうか? たとえば、 トップページ > あ > RD 潜脳調査室 > い > う のような場合もあるのでしょうか? このような場合、抽出 するのは2つ目の「>」以降全部ではなくて、「RD 潜脳調査室」だけ?

IrohaKujoh
質問者

補足

回答ありがとうございます。 補足をします。 「>」は、トップページ > あ > RD 潜脳調査室 > Wanderland の様に出てきます。 抽出するのは「RD 潜脳調査室」だけです。 宜しくお願いします。

関連するQ&A

  • 文字列の指定した範囲を抽出する方法

    こんにちは ver_51 と言います、今文字列の抽出法で悩んでいます。 基本的なことでお恥ずかしいのですが、Javaではいい方法が全く思いつかなかったので、質問をさせていただきました。 例えば String a = "<a href="http://www.yahoo.co.jp/">Yahoo! JAPAN</a>"; String b = ""; のような文字列があるとすると、文字列 a から http://www.yahoo.co.jp/ だけを取り出したい場合 int i; for(i=10;i<=32;i++){ b += a.charAt(i); } で b の中身は http://www.yahoo.co.jp/ となりますが、どうも原始的でかっこ悪いです。 仮に http://www.yahoo.co.jp/.* のようにURLに続きがある場合、数字(ここでいう32)をいちいち変える必要があり、応用もききません。 文字列 a から指定した範囲だけを抽出する良い方法はないでしょうか? ご質問は遠慮なくして下さい。 宜しくお願いします。

    • ベストアンサー
    • Java
  • 文字列の抽出について

    A列に 500行位の文字列があり、 その行の中から以下を抽出したいです。 ただ、抽出したい文字列は、0123456で始まり、abcdという文字列まで。 しかも改行されています。 ※抽出したい文字列 【A列 0123456 ~ B列 abcd】という文字列 【F列 0123456 ~ B列 abcd】という文字列 A列 0123456 B列 xxxx abcd C列 1111 D列 2222 E列 3333 F列 0123456 G列 xxxx abcd H列 4444 I列 5555 J列 6666 宜しくお願い致します。

  • 英語の文法解説お願いします。

    Avril lavigne のWish you were here という歌の歌詞で what I'd do to have you here とありますが 詳しい文法解説を教えてください。

  • 解読お願いします!

    遠距離の彼から good night I wish you be here with me ときました wereじゃなくてbe って‥使いますか? 調べて見ましたがわかりませんでした どなたか解る方いますか?

  • ピンクフロイド

    私は全然聞いたこがないのですが ピンクフロイドの曲に「i wish you were here」という曲はありますか?簡単でいいので曲の内容を知りたいのです。よろしくお願いします。

  • 文字列抽出の方法

    こんにちは。Excelの文字列抽出の方法で、 12345あいうえと 23434Abcfsafjkfafal 98438かきくここabcdfdsfsdfasfasfja などのデータがあります。最初の5文字は必ず数値になります。数値以降の文字列を取得したいのですが、何文字あるかは不明です。その最後までデータを取得したいと考えています。mid関数を使うと思ったのですが、5文字目以降の文字列のバイト数、文字数がわからないので使うことができません。どのように解決すればよいかご教授お願いいたします。

  • 和訳お願いいたします。

    和訳お願いいたします。 It's such a nice day today. I wish you were here already. 今日は良い日だった。あなたがここにいれば良かったのに。 と言ったニュアンスなのでしょうか?

  • このようなテキストの抽出は・・・。

    次のようなテキストを抽出するにばどうすればいいのでしょうか。 次の条件の文字列変数theVarにおいて、*の部分を抽出したいです。 <i>*</i> <i>と</i>はないかもしれません。 「*」はワイルドカート、「<」と「>」はメタキャラではなくただの文字。 よろしくお願いします。

  • Excelのセルない文字抽出について

    やりたいこと画像見て頂いてわかるかどうか不安ですがやりたいことを箇所書きします ・ I5セル内の表示されている内容(文字列)をC2~I2セルに表示されている通りに入力したい 補足説明=I5セル内には関数で次のようになっています =CELL("contents",C5)&CELL("contents",D5)&CELL("contents",E5)&CELL("contents",F5)&CELL("contents",G5)&CELL("contents",H5) なのでI5セルを普通に抽出して次ページに書き出すと関数そのものが入力されてしまいエラー(文字列ではないもの)になってしまう I5セル内の表示されている通り(関数ではなくて見ている見えてる文字列のこと)の内容を次ページのC4セルに直接的書き込みしたいとゆうことと、C2~I2に書き込みしたいとゆうことです。 図書館や他サイトでも独学で努力して調べたり試したりしていますが上手くいかなかったので応用力の知恵のある皆様方へ質問させて頂きました。 この内容でもまだ何がしたいのか伝わらない場合はご連絡ください。 やり方わかる方はやり方を教えて頂きたく平にお願い申し上げます。

  • これはなんと書いてかるのでしょうか??

    Wish you were here for new years! 友達からこうきたんですが日本訳に直していただけませんでしょうか??:(

専門家に質問してみよう