2009-10-13 71 views
2

我正在使用VB.NET代碼。如何在VB.NET中拆分

我得到了下面的字符串。

http://localhost:3282/ISS/Training/SearchTrainerData.aspx 

現在我想用「/」分割上面的字符串。我想將值SearchTrainerData.aspx存儲在一個變量中。

在我的情況

Dim str as String 

str = "SearchTrainerData.aspx" 

什麼是它會分裂上面的字符串,並且進一步存儲它在一個變量的代碼?

回答

2

Split函數採用字符,VB.NET代表通過附加一個「C」爲一個字符的字符串的結尾:

Dim sentence = "http://localhost:3282/ISS/Training/SearchTrainerData.aspx" 
Dim words = sentence.Split("/"c) 
Dim lastWord = words(words.length - 1) 
+0

不,不要這樣做;它很容易出錯併產生安全保留。改爲創建一個'Uri'對象。 – 2014-10-22 15:24:28

+0

@丹你是對的。我正在回答標題問題,而不是一般的URL問題。隨意編輯它以包含適當方法的鏈接,但是請保留現有代碼,因爲搜索者希望根據標題找到這些代碼。 – 2014-10-22 16:28:55

+0

這是一個URL問題,因爲這是示例字符串;將示例代碼更改爲不是(顯然)URL的字符串。 我在下面回答了更好的URL的答案;你**不應該**操縱網址的字符串。 – 2014-10-22 16:34:39

5

嘗試使用功能String.Split

+0

謝謝!請給我示例代碼 – 2009-10-13 13:56:06

+1

@解決方案:節省每個人的時間,包括你自己,只是谷歌的「vb.net字符串拆分」。有很多有用的結果。在發佈SO之前進行一些研究通常是體貼的。 – 2009-10-13 13:58:53

0

使用split()。你可以在字符串實例上調用它,傳遞一個分隔符的char數組,並返回給你一個字符串數組。抓住最後一個元素來獲得您的「SearchTrainerData.aspx」。

1

我猜你實際上是在尋找的是系統。 Uri類。這使得你正在尋找的所有字符串拆分過時。

MSDN Documentation for System.Uri

Uri url = new Uri ("http://..."); 
String[] parts = url.Segments; 
5

你的 「弦」 顯然,這意味着你應該使用System.Uri類的URL。

Dim url As Uri = New Uri("http://localhost:3282/ISS/Training/SearchTrainerData.aspx") 
Dim segments As String() = url.Segments 
Dim str As String = segments(segments.Length - 1) 

這也可以讓你得到各種有關你的「字符串」的其他有趣的信息,而不訴諸手動(和容易出錯)解析。