2012-01-14 22 views
0

我有一個名爲「主頁」像這樣的字符串:如何在VB中反轉URL?

Dim homepage As String 
homepage = TextBox1.Text 

舉個例子,網頁等於「http://www.example.com」。我需要做的就是將網址反轉爲「com.example」而不使用「http:// www」。 我曾嘗試下面的代碼:

Dim i As String = Microsoft.VisualBasic.Right(homepage, (InStr(homepage, "."))) 
Label1.Text = i 

該代碼應最後一個句點後選擇了所有字母,但事實並非如此。有人可以幫幫我嗎?如果需要,我會提供更多信息。 網址並不總是以http://www開頭,但它確實以http://開頭。一個URL並不總是有www。

回答

0

您正在使用Right獲取n字符在字符串末尾。但是您從InStr作爲參數傳遞的值將返回字符串開頭的位置。

嘗試從字符串的長度中減去InStr返回的值。

0

網址是否始終以「http:// www。」開頭?

Dim reversedPartUrl As String = String.Join(".", homepage.Replace("http://www.", "").Split("."c).Reverse) 

或者,如果有一個機會,將有像上月底/index.html,

Dim homepage As Uri 
homepage = New Uri("http://www.example.com/index.html") 
Dim s As String = String.Join(".", homepage.Host.Split("."c).Reverse) 
+0

不,它並不總是以http:// WWW。因爲有些人擁有子域名。但是,它始終以http:// – user1081679 2012-01-14 18:10:33

+0

開頭您應該能夠修改我提供的代碼行以滿足您的要求。 – 2012-01-14 18:12:40

0
Dim homepage As String 
     homepage = "http://www.stackoverflow.com/" 

     'Reverse the URL 
     Dim revURL = StrReverse(homepage) 

     Dim theURL 
     theURL = Left(revURL, InStr(InStr(revURL, ".") + 1, revURL, ".") - 1) 

     ' Reverse it back 
     homepage = StrReverse(theURL) 
     Console.WriteLine(homepage) 
     Console.ReadKey()