vb.net как избавиться от нежелательного символа vblf

#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. спасибо, даже если мне не нужно использовать это прямо сейчас, так как я обнаружил источник проблемы, но мне это может понадобиться позже