2012-02-10 42 views
1

你好我正在使用Visual Basic .NET,我試圖讓拆分工作。 這裏是我的代碼拆分功能 - 它是如何工作的?

Public Sub CheckUpdate(ByVal FileURL As String) 
     Dim instance As WebClient = New WebClient 
     Dim ApplyTo As String = instance.DownloadString(FileURL) 

     asd = ApplyTo.Split(",") 
    End Sub 

我使用這樣的

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
     NewUpdate.CheckUpdate("version.txt") 
     Label1.Text = NewUpdate.asd(0) 
    End Sub 

(是的,我知道我用它在本地的txt現在!)
與ASD 所以(0)它讀取整個文件。如果我檢查asd(1)我得到IndexOutOfRange。那麼Split()如何工作?非常感謝你!

回答

4

String.Split返回一個數組,其中包含由指定字符分隔的字符串的所有部分(在您的情況下,它是逗號)。如果asd(1)超出範圍,這意味着您的字符串中沒有逗號。

考慮下面的代碼:

Dim ApplyTo As String = "Test1,Test2" 
asd = ApplyTo.Split(",") 
Console.WriteLine(asd(0)) 'Prints "Test1" 
Console.WriteLine(asd(1)) 'Prints "Test2" 
+0

謝謝你,我的朋友! – Devfly 2012-02-10 18:14:16

+0

我的榮幸:-) – 2012-02-10 18:38:41

0

下面是如何使用拆分

'The below code will print D34Fge3 in a MsgBox 
    Dim longstring as String = "D1111ZZ002CZ003*D34Fge3*ASDe3" 
    Dim a() As String 
    a = longstring.Split("*") 
    MsgBox(a(1)) 

這個代碼利用longstring一個例子,並分割它的基礎上的*的次數。 (0),(1),(2)

由於在本例中只有3個分隔字符串,因此調用(3)或更高的字符串將會導致數組outoutbounds異常。如果我將分割值設置爲逗號,那麼在嘗試調用(1)時會看到outofbounds異常。

0

Split函數,在你選擇的人物返回數組「拆分」。在你的情況下逗號。你的錯誤是你沒有任何東西在字符串中。

0

返回包含在這種情況下 由指定的字符串或Unicode 字符數組的元素分隔子串的字符串數組。

你說的是用逗號分割,但是在你分割的字符串中沒有逗號,所以它只能給你原來的結果。如果你分裂了「。」 isntead然後asd(0)將是「版本」和asd(1)將是「txt」。

如果沒有幫助的文檔可以在這裏找到:http://msdn.microsoft.com/en-us/library/system.string.split.aspx

0

這是較短的方式。我們必須使用循環

每個字作爲字符串在斯普利特(txtSplit.Text,「「) txtOutput.Text = txtOutput.Text +文字+ vbCrLf