'Split()'函数如何在VB.NET中工作?

时间:2012-02-10 15:57:51

标签: .net vb.net

我在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()如何运作?

5 个答案:

答案 0 :(得分: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"

答案 1 :(得分:0)

以下是如何使用Split的示例:

  ' 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),a(1)和a(2)为每个集合执行任何操作。

由于在此示例中只有三个单独的字符串,因此调用(3)或更高的字符串将导致arrayoutofbounds异常。如果我将分割值设置为逗号,那么在尝试调用(1)时,我会看到异常异常。

答案 2 :(得分:0)

Split函数在您选择的字符上返回一个数组“Split”。在你的情况下一个逗号。您的错误是您在字符串中没有任何内容。

答案 3 :(得分:0)

  

返回包含此实例中的子字符串的字符串数组   由指定字符串或Unicode的元素分隔   字符数组。

你告诉它要在逗号上拆分,但是你要拆分的字符串中没有任何逗号,所以它只返回原始结果。如果你拆分“。”相反,asd(0)将是“version”而asd(1)将是“txt”。

如果这样做无效,可以在此处找到文档: String.Split Method (System)

答案 4 :(得分:0)

以下是较短的方法。我们必须使用循环:

For Each word As String In Split(txtSplit.Text, " ")
    txtOutput.Text = txtOutput.Text + word + vbCrLf