Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 将字符串拆分为文本框_Vb.net_Url_Split - Fatal编程技术网

Vb.net 将字符串拆分为文本框

Vb.net 将字符串拆分为文本框,vb.net,url,split,Vb.net,Url,Split,我有这个网址: http://www.website.com/base.htm?age=<number>&Team=<number>&userID=<number> Dim url作为字符串=”http://www.website.com/base.htm?age=15&Team=100&userID=1109" Dim temp As String=url.Substring(url.IndexOf(“?”)+1) Dim args()作为

我有这个网址:

http://www.website.com/base.htm?age=<number>&Team=<number>&userID=<number>
Dim url作为字符串=”http://www.website.com/base.htm?age=15&Team=100&userID=1109"
Dim temp As String=url.Substring(url.IndexOf(“?”)+1)
Dim args()作为字符串
参数=温度拆分(&)
Dim pair()作为字符串
将每个参数作为参数中的字符串
对=参数拆分(“=”)
控制台写入线(对(0))
console.WriteLine(对(1))“
Dim url As String=”http://www.website.com/base.htm?age=15&Team=100&userID=1109"
Dim temp As String=url.Substring(url.IndexOf(“?”)+1)
Dim args()作为字符串
参数=温度拆分(&)
Dim pair()作为字符串
将每个参数作为参数中的字符串
对=参数拆分(“=”)
控制台写入线(对(0))

console.WriteLine(对(1))“如果您想输出到
文本框
,并且可以保证设置数量的参数,这非常简单:

Dim url As String = "http://www.website.com/base.htm?age=15&Team=3&userID=1"

TextBox1.Text = url.Split("?"c)(1).Split("&"c)(0).Split("="c)(1)
TextBox2.Text = url.Split("?"c)(1).Split("&"c)(1).Split("="c)(1)
TextBox3.Text = url.Split("?"c)(1).Split("&"c)(2).Split("="c)(1)
代码看起来有点不可读,但它确实起到了作用。注意第二个
拆分部分的数字增加了。这是输出:

现在,我要做的是进一步检查以确保参数存在,并且它们具有值:

Dim url As String = "http://www.website.com/base.htm?age=15&Team=3&userID=1"

Dim parameters As String = Nothing

If url.Contains("?") Then
    parameters = url.Split("?"c)(1)
End If

Dim age As Integer = 0
Dim team As Integer = 0
Dim userId As Integer = 0

If parameters IsNot Nothing Then

    For Each parameter In parameters.Split("&"c)

        If parameter.Contains("=") Then

            If parameter.ToLower().StartsWith("age") Then
                Integer.TryParse(parameter.Split("="c)(1), age)

            ElseIf parameter.ToLower().StartsWith("team") Then
                Integer.TryParse(parameter.Split("="c)(1), team)

            ElseIf parameter.ToLower().StartsWith("userid") Then
                Integer.TryParse(parameter.Split("="c)(1), userId)

            End If

        End If

    Next

End If

TextBox1.Text = age.ToString()
TextBox2.Text = team.ToString()
TextBox3.Text = userId.ToString()
输出与上面相同,但我已经做了进一步的检查。我相信会有更多的检查,但我认为这会给你一个好的开始

我想做的是使用一种方便的方法来存储参数的名称和值,因此我想向您展示这种方法:

Dim url As String = "http://www.website.com/base.htm?age=<number>&Team=<number>&userID=<number>"
Dim urlParameters As New Dictionary(Of String, String)

If url.Contains("?") AndAlso url.Contains("&") Then
   For Each param In url.Split("?"c)(1).Split("&"c)
        Dim kp() As String = param.Split("="c)
        urlParameters.Add(kp(0), kp(1))
    Next
End If

'ouput
For Each parameter In urlParameters
    Debug.WriteLine("Key: " & parameter.Key & " Value:" & parameter.Value)
Next
在这种情况下,输出将为:


如果您想输出到
文本框
,并且可以保证一定数量的参数,这非常简单:

Dim url As String = "http://www.website.com/base.htm?age=15&Team=3&userID=1"

TextBox1.Text = url.Split("?"c)(1).Split("&"c)(0).Split("="c)(1)
TextBox2.Text = url.Split("?"c)(1).Split("&"c)(1).Split("="c)(1)
TextBox3.Text = url.Split("?"c)(1).Split("&"c)(2).Split("="c)(1)
代码看起来有点不可读,但它确实起到了作用。注意第二个
拆分部分的数字增加了。这是输出:

现在,我要做的是进一步检查以确保参数存在,并且它们具有值:

Dim url As String = "http://www.website.com/base.htm?age=15&Team=3&userID=1"

Dim parameters As String = Nothing

If url.Contains("?") Then
    parameters = url.Split("?"c)(1)
End If

Dim age As Integer = 0
Dim team As Integer = 0
Dim userId As Integer = 0

If parameters IsNot Nothing Then

    For Each parameter In parameters.Split("&"c)

        If parameter.Contains("=") Then

            If parameter.ToLower().StartsWith("age") Then
                Integer.TryParse(parameter.Split("="c)(1), age)

            ElseIf parameter.ToLower().StartsWith("team") Then
                Integer.TryParse(parameter.Split("="c)(1), team)

            ElseIf parameter.ToLower().StartsWith("userid") Then
                Integer.TryParse(parameter.Split("="c)(1), userId)

            End If

        End If

    Next

End If

TextBox1.Text = age.ToString()
TextBox2.Text = team.ToString()
TextBox3.Text = userId.ToString()
输出与上面相同,但我已经做了进一步的检查。我相信会有更多的检查,但我认为这会给你一个好的开始

我想做的是使用一种方便的方法来存储参数的名称和值,因此我想向您展示这种方法:

Dim url As String = "http://www.website.com/base.htm?age=<number>&Team=<number>&userID=<number>"
Dim urlParameters As New Dictionary(Of String, String)

If url.Contains("?") AndAlso url.Contains("&") Then
   For Each param In url.Split("?"c)(1).Split("&"c)
        Dim kp() As String = param.Split("="c)
        urlParameters.Add(kp(0), kp(1))
    Next
End If

'ouput
For Each parameter In urlParameters
    Debug.WriteLine("Key: " & parameter.Key & " Value:" & parameter.Value)
Next
在这种情况下,输出将为:


非常感谢您在@Jinx88909给出如此详尽的回答!我真的很感激。非常感谢您对@Jinx88909的精彩而详细的回答!我真的很感激。