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

时间:2016-04-27 01:55:53

标签: vb.net visual-studio-2010 sorting listbox character

我正在尝试将.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)?)

2 个答案:

答案 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)