我正在尝试将.txt文件加载到richtextbox(Point_BOX)中,然后将除最后5个字符之外的所有字符删除到列表框(Point_LIST)中。 我在网上搜索过,到目前为止我唯一能让它工作的方法是从行中删除前75个字符(.txt文件中的行应该是80个字符,但有时候更多/更少)。
Point_BOX.Clear()
Point_LIST.Items.Clear()
OpenPointDialog.ShowDialog()
FileName = OpenPointDialog.FileName
Dim sr As IO.StreamReader = IO.File.OpenText(FileName)
Dim line As String = ""
Point_BOX.Text = sr.ReadToEnd
For i As Integer = 0 To sr.Peek = -1
line = sr.ReadLine()
Dim allText As String = sr.ReadToEnd()
Point_BOX.Text = Point_BOX.Text & line & vbNewLine
Next
sr.Close()
'Clean up report
Point_LIST.Items.AddRange(Point_BOX.Lines)
Dim ir As Integer = Point_LIST.Items.Count
Dim xr As Integer
For xr = 0 To ir - 2
Point_LIST.Items(xr) = Point_LIST.Items(xr).substring(75)
Next xr
如果没有小于80个字符的行,但有时报告可以在一行中包含一些单词,则此方法有效。 我想要制作另一个循环,检查一行中有多少个字符,如果它少于80,那么转到下一行,但我不能帮助,但认为有更好的方法。像“substring(75)”的反向(字符串(5)?)
答案 0 :(得分:2)
尝试这样的事情:
Point_BOX.Clear()
Point_LIST.Items.Clear()
If OpenPointDialog.ShowDialog = DialogResult.OK Then
FileName = OpenPointDialog.FileName
Point_BOX.Lines = System.IO.File.ReadAllLines(FileName)
For Each line As String In Point_BOX.Lines
Point_LIST.Items.Add(Microsoft.VisualBasic.Strings.Right(line, 5))
Next
End If
答案 1 :(得分:0)
试试这个 Microsoft.VisualBasic.Right(String,5)