我编码一个下载器,基本上它是如何工作的,我把一个文本文件中的几个环节,看起来像这样:去掉空格
1 http://127.0.0.1:8080/patch/patches/test1.rar
2 http://127.0.0.1:8080/patch/patches/test2.rar
3 http://127.0.0.1:8080/patch/patches/test3.rar
所以我下载这个文本文件通过在vb.net Web客户端与此下面的代码:
Dim PatchList = wc.DownloadString("http://127.0.0.1:8080/patch/PatchList.txt").Trim
Dim tLines As String() = PatchList.Split(Environment.NewLine)
For Each NewLine As String In tLines
Dim tVersionAndUrl As String() = NewLine.Split(vbTab)
Dim encText As New System.Text.UTF8Encoding()
Dim btText() As Byte
btText = encText.GetBytes(tVersionAndUrl(0))
If tVersionAndUrl.Length < 2 Then
Exit For
End If
If Integer.Parse(tVersionAndUrl(0)) < Integer.Parse(CVersion.Text) Then
Dim TempPath As String = "\launcher\temp.rar"
My.Computer.Network.DownloadFile(tVersionAndUrl(1), Me.GetFileName(tVersionAndUrl(1)))
CVersion.Text = tVersionAndUrl(0)
End If
Next
MsgBox("Client is up to date")
一切都很正常,但唯一的问题是,当它下载文件,它把一个某种形式的空间,每个号码之前,我相信这个空间可能只是一个正常的空间,或者可能是由于新的线路,我无法修剪它,因为当我什么事都没有发生时使用。所以它看起来像这样:
但第一行是好的,它有没有空间。
我已经尝试了很多不同的策略来删除它,但我没有成功。
编辑:所以好吧,我试图确定它是一个新的行或空间,但它似乎不是?
我用这个代码:
If tLines.Contains(Environment.NewLine) Then
MsgBox("It's a freaking new line!")
ElseIf tLines.Contains(" ") Then
MsgBox("It's a freaking space!")
Else
MsgBox("There's no new lines or spaces. Huh?")
End If
,我拿到了最后的消息框,确认这是两者都不是。现在我很困惑。
编辑2:按照要求这里是我试图删除空格/换行符。
Dim newString As String = tLines.ToString.Remove(Environment.NewLine)
也试过:
Dim newString As String = tLines.ToString.Replace(vbCr, "").Replace(vbLf, "")
而且我想:
Dim NoSpace = Replace(tLines.ToString, Chr(13), vbNullString)
这:
Dim TrimmedLines As String = tLines.ToString.Trim
安置自己在消除空间的尝试,并且证明它不工作所产生的输出或错误。 –
@KarlAnderson我编辑了我的主帖。 –
尝试弄清楚这些空格到底是什么,也许它们是\ 0x0或\ t(制表符)等控制字符。然后正确更换。 你可以发布一个示例文件,以便我们弄清楚它吗? – natenho