我有一个基于列的txt文件。如何以编程方式读取任何特定的列?
到目前为止,我想出了一种解决方案,它读取指定的列索引,例如:firstValue [0]将读取文本文件中的所有(1)。
如果我这样写,那么我就能很好地阅读前三个索引,但是必须有一种更简洁的方法。
Console.WriteLine(string.Join(“”,firstValue [0],firstValue 1,firstValue [2],firstValue [3]));
如果有一种方法我可以对文本文件中的列进行计数,而不是选择要读取的列的索引;那将是理想的。
我想读: 121 122 123 124
我在网上搜索了类似的问题,但他们并没有我想要的。
string[] lines = File.ReadAllLines(YourFile);
foreach (var line in lines)
{
var firstValue = line.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries)[0];
Console.WriteLine(firstValue[0]);
//Console.WriteLine(string.Join("", firstValue[0], firstValue[1], firstValue[2], firstValue[3]));
}
Console.ReadKey();
答案 0 :(得分:0)
您可以尝试以下一种方法:
LOCALE_ID
应该添加其他检查,但是您可以找到一个主意。
答案 1 :(得分:0)
问题是,像这样拆分它:
var firstValue = line.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
firstValue
等于在foreach循环中这样的串联字符串121 20412 010
因此,我尝试了另一种方法:
var firstValue = line.Split(new string[] { "\t" }, StringSplitOptions.RemoveEmptyEntries);
哪个索引了列,所以我可以选择我想要数据来自哪一列。
foreach (var line in lines)
{
var firstValue = line.Split(new string[] { "\t" }, StringSplitOptions.RemoveEmptyEntries);
Console.WriteLine(firstValue[2]);
}
输出:
010
020
030
040