保留列表框中的最后几个字符 VB.NET

keep last few characters in listbox VB.NET

我正在尝试将 .txt 文件加载到富文本框 (Point_BOX),然后将除最后 5 个字符之外的所有字符删除到列表框 (Point_LIST)。 我在网上搜索过,到目前为止,唯一能让它起作用的方法是从该行中删除前 75 个字符(.txt 文件中的行应该是 80 个字符,但有时是 more/less)。

    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)" (string(5)?)

的反转

试试这个 Microsoft.VisualBasic.Right(字符串,5)

试试这样的方法:

    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