#vb.net #string #url #linefeed
#vb.net #строка #url #перевод строки
Вопрос:
Всем привет, может кто-нибудь объяснить мне, почему символ vblf продолжает попадать в мою строку, пожалуйста? я использую этот код, поэтому мне не нужно проверять, существует ли http:// уже в строке с ‘if’
url1 = "http://" URL.replace("http://","").Split("/")(0) amp; strin2
проблема в том, что результирующий URL выглядит следующим образом :
«http://» amp; vblf amp; ‘остальная часть URL
кто-нибудь может объяснить мне, почему vblf продолжает попадать в мою строку?
Комментарии:
1. пример URL-адреса не имеет значения, но если это может помочь, я получаю его только при использовании данных из файла csv (который создал мое же приложение), поэтому теперь для каждой строки файла я выполняю замену (vblf, ничего), прежде чем я получу данные в нем
Ответ №1:
Я бы действительно использовал правильный инструмент для работы, которая, по-видимому, является 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
Результат: 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
(тот же результат)
Комментарии:
1. спасибо, даже если мне не нужно использовать это прямо сейчас, так как я обнаружил источник проблемы, но мне это может понадобиться позже