如何删除下面的最后一个crlf
代码?
Dim fh As StreamReader
Dim temp as string
Dim temp1 as string
fh = new StreamReader("haggis.txt")
Dim s As String = fh.ReadLine()
While not s Is Nothing
temp = temp & s & Vbcrlf
Console.WriteLine(temp)
End While
fh.Close()
haggis.txt
AAAA
BBBB
'Return
AAAA
BBBB
crlf <---- I want to remove this.
答案 0 :(得分:1)
请尝试相反:使用File.ReadAllLines()
,这样您根本不必使用vbCrLf
。它将所有行加载到字符串数组中。
Dim readText() As String = File.ReadAllLines("haggis.txt")
Dim s As String
For Each s In readText
Console.WriteLine(s)
Next
答案 1 :(得分:0)
这可能是一个简单的解决方案
For Each
Do
If (String.IsNullOrEmpty(strline)) Then
strline = strline & objSR.ReadLine()
Else
strline = vbCrLf & objSR.ReadLine()
End If
objwriteline.strline()
Loop
Next
答案 2 :(得分:0)
您不应该在循环中进行直接String
连接。我意识到上面的代码也只是一个例子,但是你永远不会在你的循环中更新s
,因此如果它进入它就会是一个无限循环。
假设你修复了这个问题,你想使用StringBuilder
进行String
连接:
Dim temp As New System.Text.StringBuilder()
While s IsNot Nothing
temp.Append(s).Append(vbCrLf)
End While
Dim answer As String = ""
' avoid trying to get a substring if it's blank
If temp.Length <> 0 Then
answer = temp.ToString(0, temp.Length - vbCrLf.Length)
End If
要在没有最后一个vbCrLf的情况下获取它,只需将其切断,就像我上面那样。