我正在加载一个txt文件,我可以使用split函数将每一行拆分成一个数组(使用“|”作为分隔符)。
但是每行在数组中有不同数量的元素,所以我不能制作2D数组。
我想以某种方式将文本字符串和整数组合成一个新变量。
Dim i As Integer = 0
Dim "row" & i As String = StringinRowi
给予
row0 = StringinRow0
然后将这个循环多次,因为文本文件中有行(我弄明白了)
这一切都可能吗?
答案 0 :(得分:0)
2D数组可能不起作用,但2D List可以工作。声明列表,
Dim data As New List(Of List(Of String))
然后转换Split返回.ToList。
data.Add(readlinestring.Split("|"c).ToList)
现在每一行都是data
的索引,并且将包含一个也被编入索引的字符串列表。
由于所有内容都已编入索引,因此应避免使用编号变量。
答案 1 :(得分:0)
使用DataTable
。他们很棒。
Imports System.IO
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim dtbData As New DataTable
Dim strFilename As String = "C:\Junk\Junk.txt"
Using sr As New StreamReader(strFilename)
Do Until sr.EndOfStream
Dim strLine As String = sr.ReadLine()
Dim strFields() As String = Split(strLine, "|")
For i As Integer = dtbData.Columns.Count To strFields.GetUpperBound(0) 'add new columns if necessary
dtbData.Columns.Add("Column" + i.ToString)
Next i
dtbData.Rows.Add(strFields)
Loop
MsgBox("Row 2 Column 1 = " & dtbData.Rows(1).Item("Column1").ToString)
End Using
End Sub
End Class