嗨,大家可以有人向我解释为什么他的vblf字符一直在我的字符串请?我使用这个代码,所以我不需要检查http://是否已经存在于字符串与'if'
url1 = "http://" + URL.replace("http://","").Split("/")(0) & strin2
问题是结果url是这样的:"http://",vblf,url的其余部分有人能告诉我为什么VBLF总是在我的字符串里吗?
我真的会为这项工作使用正确的工具,这似乎是Uri
类:
Dim url As String = "http://google.com/blah?foo=1"
Dim uri As Uri
If Uri.TryCreate(url, UriKind.Absolute, uri) Then
Dim schemeAndHost As String = uri.Scheme + uri.SchemeDelimiter + uri.Host
End If
Result: http://google.com
如果你不知道url是否包含协议,你可以使用UriBuilder
类:
Dim url As String = "google.com/blah?foo=1"
Dim schemeAndHost As String
Dim uri As Uri = Nothing
If uri.TryCreate(url, UriKind.Absolute, uri) Then
schemeAndHost = uri.Scheme + uri.SchemeDelimiter + uri.Host
ElseIf url.Contains("/") Then
uri = New UriBuilder("http", url.Remove(url.IndexOf("/"))).Uri
schemeAndHost = uri.Scheme + uri.SchemeDelimiter + uri.Host
End If
(相同的结果)