- ベストアンサー
VB2010にて指定した文字の抽出
テキストボックスに、下記のように文字列が有ります。 そこで、2つ目の'>'以降の'RD 潜脳調査室 'という文字や 'i-wish you were here- 'を抽出したいのです。 2つ目の'>'以降の文字列や'あ'は変化します。 'トップページ > あ > RD 潜脳調査室' ↑や↓のような文字列。 'トップページ > あ > i-wish you were here-'
- IrohaKujoh
- お礼率18% (11/61)
- Visual Basic
- 回答数5
- ありがとう数5
- みんなの回答 (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)
こんな感じでどうでしょうか。 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)
これが単なる文字列からの抽出なら良いのですが、 Webページからの抽出だとそのページによって 方法が変わるかも知れませんね。
- Hayashi_Trek
- ベストアンサー率44% (366/818)
単純に、「>」でSplit()して3番目の要素で良いのでは? ' 区切りで分割して配列に格納する Dim stArrayData As String() = Split(textBox.Text, ">") If 2 < stArrayData.Length Then '要素が3個以上の場合 MessageBox(stArrayData(2)) End If
- MSZ006
- ベストアンサー率38% (390/1011)
補足をお願いします。 「>」は2つだけしか出てこないのでしょうか? たとえば、 トップページ > あ > RD 潜脳調査室 > い > う のような場合もあるのでしょうか? このような場合、抽出 するのは2つ目の「>」以降全部ではなくて、「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 とありますが 詳しい文法解説を教えてください。
- ベストアンサー
- 英語
- 和訳お願いいたします。
和訳お願いいたします。 It's such a nice day today. I wish you were here already. 今日は良い日だった。あなたがここにいれば良かったのに。 と言ったニュアンスなのでしょうか?
- ベストアンサー
- 英語
- このようなテキストの抽出は・・・。
次のようなテキストを抽出するにばどうすればいいのでしょうか。 次の条件の文字列変数theVarにおいて、*の部分を抽出したいです。 <i>*</i> <i>と</i>はないかもしれません。 「*」はワイルドカート、「<」と「>」はメタキャラではなくただの文字。 よろしくお願いします。
- ベストアンサー
- JavaScript
- 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! 友達からこうきたんですが日本訳に直していただけませんでしょうか??:(
- ベストアンサー
- 英語
補足
回答ありがとうございます。 補足をします。 「>」は、トップページ > あ > RD 潜脳調査室 > Wanderland の様に出てきます。 抽出するのは「RD 潜脳調査室」だけです。 宜しくお願いします。