在VB2010中,我需要处理一个文本文件,该文件有多行,如下所示:
Student name, 65, 42, 71, 55 Student name 2, 40, 42, 54, 45 etc.
我需要处理文件,找到:
等级:70% - 100%= D,60% - 70%= P1,50% - 60%= P2,40% - 50%= P3,0% - 39%= F
我正在尝试将数据结构放入公共类
Structure Student
Dim name as String
Dim Paper1 as String
Dim Paper2 as String
Dim Paper3 as String
DIm Paper4 as String.
End Structure
'I am also trying to to do an array
Dim Students() as Student
'Open txt File
Dim FileStreamReader As IO.StreamReader
FileStreamReader = IO.File.OpenText("c:/textfile.txt")
一次读取一行文件
While not fileStreamReader.EndofStream
Dim linein as String
linein = FileStreamReader.readline()
我有两个主要问题:
答案 0 :(得分:1)
您应该使用专用的csv解析器来解析文件中的行。不要使用正则表达式。不要使用String.Split()。不要试图自己写。您可以使用Microsoft.VisualBasic.TextFieldParser类。
您不应该使用包含可以更改的字段的结构。使它成为一个类而不是一个结构,或使所有字段只读(没有公共设置选项),只更改构造函数中的字段。