2011-09-28 9 views
0

内の文字列のために、私は私のテーブル内の次の列値抽出HTTPリンク(のhttp://)VB.NET

サンプル値が設定されています

  1. XYZについてのABCグループのブログ記事をご覧ください今日! http://blog.saedg.org/

  2. 'XYZCountyの新たな雇用と経済機会の創出を促すためにABCに参加してください。 http://starabcnet.com/news/science/environment/article_4b3d2f7e-96c6-5007-a036-b4613250755e.html

は、私は2つの変数のリンクやコンテンツ別々持っていたい - 例:

  1. VAR1 = XYZ今日はABCグループのブログ記事をチェックしてください!
    VAR2 = http://blog.saedg.org/

  2. VAR1は=新しい仕事とXYZCounty
    VAR2 = http://starabcnet.com/news/science/environment/article_4b3d2f7e-96c6-5007-a036-b4613250755e.html

のための経済的機会を作成するための郡を促すにABCに参加し、私はそれが文字列funcions介して行うことができると思いますか正規表現。

+1

URLは常に文字列の残りの部分を追跡し、値内の最後のものであるのか? –

+1

aniket、あなたの他の質問に役立つ回答の左側にあるチェックマークにチェックを入れて、他の質問に答えてください。 「0%承認マーク」は、潜在的なヘルパーをオフにしています。また、*役立つ答えを* upvote *することを忘れないでください。 –

+0

合意し、あなたが有益な回答を受諾しアップアップすると、より多くの助けが得られます。いずれにせよ、私はあなたに正しい方向にあなたを指し示す何かを与えました... –

答えて

0

2つの異なる列に列を分けることはできますか? 「メッセージ」、「リンク」などがあります。

もしそれができないのであれば、Httpは常に文字列の最後にあり、文字列にはHTTP://への他の参照はないとすれば、 "HTTP://"の後の文字列を取得できます。

VB.NETのstringのIndexOfメソッドとSubstringメソッドを見てください。このような

何か(私がテストしていない):

string url = var.SubString(var.IndexOf("http")) 
+0

HTTPは常にStringの最後にあります。部分文字列があるときは長さを指定する必要があります。それは問題が発生する場所です。 –

+0

いいえ。長さを指定しない場合、結果は文字列の終わりまでの開始点になります。これを使用します:Public Function Substring(ByVal startIndex As Integer)As String –

1

はこれを試してみてください:

' This is the regex that is used to get the addresses 
Public Shared URL As New Regex("(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])", RegexOptions.Compiled) 

' URL.Matches returns a collection of results that you can iterate through eg: 
for each ele in URL.Matches("INPUT STRING") 
    ' do something with each link that you get 
    ' like removing them from the input string 
next 
+0

こんにちは、 URLと文字列の部分を別々の変数に格納します。 私は次のループのために分割操作を行います。 –

+0

私は 'String.Remove'を実行し、あなたのメイン文字列から' ele'変数を削除します。 'String.Concat'を実行すると、文字列の最後に追加することができます。 –