我有一个看起来像这样的文本文件:
John,Gauthier,blue,May
Henry,Ford,Red,June
James,Bond,Orange,December
我想将它拆分成一个二维字符串数组,这样我就可以将每一行分开,然后再将每个单词分开。例如:
mystring[0][0] = "John"
mystring[1][3] = "June"
mystring[2][2] = "Orange"
这是我现在所做的:
string[] words = new string [100];
System.IO.StreamReader myfile = new System.IO.StreamReader("c:\\myfile.csv");
while (fichier.Peek() != -1)
{
i++;
words = myfile.ReadLine().Split(',');
}
我卡住了。我可以将它拆分为一维字符串数组,但不能拆分为二维字符串数组。我想我需要把它分开两次;第一次用 '\n',第二次用 ',',然后将两者放在一起。
最佳答案
这实际上是一条线:
File.ReadLines("myfilename.txt").Select(s=>s.Split(',')).ToArray()
由于这是一个初学者问题,下面是发生的事情:
File.ReadLines(filename) 返回文本文件中所有行的集合
.Select 是一个带有函数的扩展方法
s=>s.Split(',') 是函数,它将字符串 s 按所有逗号拆分并返回一个字符串数组。
.ToArray() 获取由 .Select 创建的字符串数组的集合,并从中创建一个数组,因此您得到数组的数组。
关于C# 将文本文件拆分为二维字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14407762/