如何用Visual Basic将文件内容加载为逗号分隔的字符串?

2026-05-06 11:071阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计736个文字,预计阅读时间需要3分钟。

如何用Visual Basic将文件内容加载为逗号分隔的字符串?

我有许多文件,大小各异。但希望用它们完成同样的事情,将它们加载到一个字符串(,)中。在过去的几个小时内,我搜索了与此类代码类似的变体,看起来有一些小的变化,但即使用这种方式,我也

我有很多文件,大小各异.但是我希望用它们完成同样的事情,将它们加载到一个字符串(,)中.

在过去的几个小时里,我搜索了许多与此类似的代码变体,看起来有一些小的变化,但即使这样,我也只能在一行中加载一行:

Dim strimport As String() = {} Dim strimportsplit As String(,) = {} Dim i As Integer = 0 strimport = File.ReadAllLines("C:\test.txt") For i = 0 To strimport.Length - 1 strimportsplit = strimport(i).Split(New Char() {vbTab}) 'This line doesn't work Next

这是我的文件的一个例子(只有它们明显更大):

aaa fff 0 bbb ggg 1 ccc hhh 2 ddd iii 3 eee jjj 4

这基本上是我想要从外部文本文件加载到我的数组中的方式:

Dim strexample As String(,) = {{"aaa", "fff", "0"}, {"bbb", "ggg", "1"}, {"ccc", "hhh", "2"}, {"ddd", "iii", "3"}, {"eee", "jjj", "4"}}

我甚至尝试将所有表格作为字符串(,)手动添加到VB中.这样做……但是把它放在手动中就像将文件大小跳到~30mb并给我一个很大的性能打击.不是很理想.

我的问题是,如何将文本文件加载到字符串(,)中,类似于上面的上一个示例?

非常感谢你提前.

如果切换到 Jagged Array而不是二维,这将更容易.使用二维数组的问题(此处)是您一次只能访问和修改一个元素,而使用锯齿状数组则可以访问整行.

锯齿状数组本质上是一个数组数组,可以声明为:

Dim strimportsplit As String()()

您必须将其行大小设置为strimport.Length的行大小,以确保它可以保持相同数量的行:

Dim strimport As String() Dim strimportsplit As String()() 'Dim i As Integer = 0 -- No need for this, it's declared by the loop. strimport = File.ReadAllLines("C:\test.txt") strimportsplit = New String(strimport.Length - 1)() {}

NOTE: The reason I use strimport.Length - 1 above is because in VB.NET you actually don’t specify the length when declaring a new array, but rather the index of the last item. And since indexes start at 0 the last item will have index Length - 1.

然后在循环内部,您只需使用i来引用项目的当前数组(行/行):

strimportsplit(i) = strimport(i).Split(New Char() {vbTab})

访问项目可以这样完成:

'strimportsplit(row)(column) MessageBox.Show(strimportsplit(0)(1)) 'Displays "fff". MessageBox.Show(strimportsplit(3)(2)) 'Displays "3".

如果您愿意,也可以访问整行:

如何用Visual Basic将文件内容加载为逗号分隔的字符串?

Dim ThirdRow As String() = strimportsplit(2) MessageBox.Show(ThirdRow(0)) 'Displays "ccc".

本文共计736个文字,预计阅读时间需要3分钟。

如何用Visual Basic将文件内容加载为逗号分隔的字符串?

我有许多文件,大小各异。但希望用它们完成同样的事情,将它们加载到一个字符串(,)中。在过去的几个小时内,我搜索了与此类代码类似的变体,看起来有一些小的变化,但即使用这种方式,我也

我有很多文件,大小各异.但是我希望用它们完成同样的事情,将它们加载到一个字符串(,)中.

在过去的几个小时里,我搜索了许多与此类似的代码变体,看起来有一些小的变化,但即使这样,我也只能在一行中加载一行:

Dim strimport As String() = {} Dim strimportsplit As String(,) = {} Dim i As Integer = 0 strimport = File.ReadAllLines("C:\test.txt") For i = 0 To strimport.Length - 1 strimportsplit = strimport(i).Split(New Char() {vbTab}) 'This line doesn't work Next

这是我的文件的一个例子(只有它们明显更大):

aaa fff 0 bbb ggg 1 ccc hhh 2 ddd iii 3 eee jjj 4

这基本上是我想要从外部文本文件加载到我的数组中的方式:

Dim strexample As String(,) = {{"aaa", "fff", "0"}, {"bbb", "ggg", "1"}, {"ccc", "hhh", "2"}, {"ddd", "iii", "3"}, {"eee", "jjj", "4"}}

我甚至尝试将所有表格作为字符串(,)手动添加到VB中.这样做……但是把它放在手动中就像将文件大小跳到~30mb并给我一个很大的性能打击.不是很理想.

我的问题是,如何将文本文件加载到字符串(,)中,类似于上面的上一个示例?

非常感谢你提前.

如果切换到 Jagged Array而不是二维,这将更容易.使用二维数组的问题(此处)是您一次只能访问和修改一个元素,而使用锯齿状数组则可以访问整行.

锯齿状数组本质上是一个数组数组,可以声明为:

Dim strimportsplit As String()()

您必须将其行大小设置为strimport.Length的行大小,以确保它可以保持相同数量的行:

Dim strimport As String() Dim strimportsplit As String()() 'Dim i As Integer = 0 -- No need for this, it's declared by the loop. strimport = File.ReadAllLines("C:\test.txt") strimportsplit = New String(strimport.Length - 1)() {}

NOTE: The reason I use strimport.Length - 1 above is because in VB.NET you actually don’t specify the length when declaring a new array, but rather the index of the last item. And since indexes start at 0 the last item will have index Length - 1.

然后在循环内部,您只需使用i来引用项目的当前数组(行/行):

strimportsplit(i) = strimport(i).Split(New Char() {vbTab})

访问项目可以这样完成:

'strimportsplit(row)(column) MessageBox.Show(strimportsplit(0)(1)) 'Displays "fff". MessageBox.Show(strimportsplit(3)(2)) 'Displays "3".

如果您愿意,也可以访问整行:

如何用Visual Basic将文件内容加载为逗号分隔的字符串?

Dim ThirdRow As String() = strimportsplit(2) MessageBox.Show(ThirdRow(0)) 'Displays "ccc".