この度は、おおおお.com( http://www.biccamera.com )を
ご利用いただきまして、誠にありがとうございます。
----(お得な情報)----------------------------------------------------
*携帯からでもお買い物!モバイルサイト ビックカメラ.com
*モバイルサイトでしか買えないお買い得品も随時掲載!
(http://www.biccamera.com/bicbic/jsp/w/pocketbic/index.jsp?odml=1001)
今私たちにできること 〜〜節電アイテム集めました〜〜
(http://www.biccamera.com/bicbic/jsp/w/special/powersave/index.jsp?odml=2102)
例えば、上記にお文字列が、変数に入っているとします。
その中から、ホームページのリンクを抜き出したいです。
どうすれば、良いでしょうか?
最後がhtmlとか固定なら考えれるのですが数字などだとどうしていいか・・・
どこに表示してあるかで違った方法もありますが、単なる文字列中からなら
下記を試して見て下さい。
Private Sub Command1_Click()
Dim myString As String
myString = "この度は、おおおお.com( http://www.biccamera.com )を" & vbCrLf
myString = myString & "ご利用いただきまして、誠にありがとうございます。"
myString = myString & "*携帯からでもお買い物!モバイルサイト ビックカメラ.com" & vbCrLf
myString = myString & "*モバイルサイトでしか買えないお買い得品も随時掲載!" & vbCrLf
myString = myString & "(http://www.biccamera.com/bicbic/jsp/w/pocketbic/index.jsp?odml=1001)" & vbCrLf
myString = myString & "今私たちにできること 〜〜節電アイテム集めました〜〜" & vbCrLf
myString = myString & "(http://www.biccamera.com/bicbic/jsp/w/special/powersave/index.jsp?odml=2102)" & vbCrLf
myString = myString & "おまけで、http://www.hanatyan.sakura.ne.jp/patio/patio.cgi"
Dim Reg As New RegExp
Dim MCs As MatchCollection
Dim Mat As Match
Reg.Global = True
Reg.Pattern = "(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)"
'検索して結果を取得
Set MCs = Reg.Execute(myString)
With Text1
Debug.Print MCs.Count '見つかった個数
For Each Mat In MCs
Debug.Print Mat.FirstIndex '見つかった位置
Debug.Print Mat.Value '見つかった文字列
Next
.SelStart = 0
End With
End Sub
下記の部分消し忘れていました。修正願います。
他にもバグがあるかも?。
' With Text1
Debug.Print MCs.Count '見つかった個数
For Each Mat In MCs
Debug.Print Mat.FirstIndex '見つかった位置
Debug.Print Mat.Value '見つかった文字列
Next
' .SelStart = 0
' End With
正規表現を使った抽出手順で良ければ、VBA, VBScript, C#, Perl 等々、
探してみると幾つか見つかりました。どこまで対応するかにもよりますけれども。
http://oshiete.goo.ne.jp/qa/5661746.html
http://www.ipentec.com/document/document.aspx?page=regularexpression-url-detect&culture=ja-jp
http://d.hatena.ne.jp/sutara_lumpur/20100827/1282872312
以下、URL の切り出しに悩みそうな例文。
----- 丸括弧を含む URL -----
ActiveX 版 WebBrowser の仕様は、下記に記述があります。
(http://msdn.microsoft.com/en-us/library/ie/aa752127(v=vs.85).aspx)
----- 漢字やカナを含む URL -----
今ではhttp://東京駅.jp/といった日本語を含むURLもありえます。
----- 長いURLが改行されている ---
今私たちにできること 〜〜節電アイテム集めました〜〜
(http://www.biccamera.com/bicbic/jsp/w/special/powersave/index
.jsp?odml=2102)
----- URL の先頭にhttpスキーマが省略されている ---
ここで検索してください→support.microsoft.com
----- URL の一部に"http://"を含んでいる ---
http://web.archive.org/web/20110723045415/http://www.biccamera.com/
ツイート | ![]() |