VB.NETの正規表現を使って、ある一行の文字列から一部だけを抜き出したいと思っています。文字列のフォーマットは以下の通りです。


LEAK,http://counter.hatena.ne.jp/genfm/1?js=1&mode=default&c=1024x768,32&r=http://b.hatena.ne.jp/hotentry,,Sat Nov 29 11:05:51 2008 ,1[1],FJF2BQFL,HTTP/1.1 200 OK P3P: CP='NOI DSP COR HISa OUR NOR' X-Framework: Hatena/2.0 Content-Type: application/x-javascript; charset=utf-8 Content-Encoding: gzip Content-Length: 371 Keep-Alive: timeout=5, max=99 ~U:me

「,」で情報を区切っています。この一行の文字列から2番目、4番目、5番目、6番目のブロックを抜き出して配列に格納したいです。VB.NETでの方法がいまいちわからないので、どなたかお教えお願いします。

<追記>
http://counter.hatena.ne.jp/genfm/1?js=1&mode=default&c=1024x768,32&r=http://b.hatena.ne.jp/hotentry
2ブロック目のURL中に「,」が入っちゃってますが、これは無いとしてお願いします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2008/12/11 15:23:35
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:CoolDriver No.1

回答回数20ベストアンサー獲得回数4

ポイント60pt

もし、取り出したい情報部分にカンマ , が入ってないことが確実なのであれば、

String 型のメソッド split を使うのが簡単だと思います。

サンプルコードを書いときます。

        Dim testString As String = "tmp1,tmp2,tmp3,tmp4,tmp5,tmp6,tmp7"
        Dim blockArray() As String = testString.Split(",")
        '// blockArray(0) に tmp1 が,
        '// blockArray(1) に tmp2 が入る 以下略

        '// 取り出し方法は最善ではないかも^^
        Dim result As New ArrayList
        For Each idx As Integer In New Integer() {2, 4, 5, 6}
            result.Add(blockArray(idx - 1))
        Next
id:Gakuen

返信が遅くなってしまい、申し訳ないです。

正規表現を使わなくても、この方法だとできそうです!

ありがとうございます。

2008/12/11 15:23:23

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません