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