【发布时间】:2018-12-04 20:20:00
【问题描述】:
我有一个基于列的 txt 文件。如何以编程方式阅读任何特定列?
到目前为止,我想出了这个解决方案,它读取指定的列索引,例如:firstValue[0] 将读取文本文件中的所有 (1)。
如果我这样写,那么我可以很好地阅读前三个索引,但必须有一种更简洁的方法。
Console.WriteLine(string.Join("", firstValue[0], firstValue1, 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();
【问题讨论】:
-
当您的列具有固定长度时,您可以将位置指针设置为列的开头。或者您可以将字符串解析为数组并仅使用一个元素。
-
感谢您的建议,我将研究如何做到这一点@Findus
-
如果空格字符是您的分隔符,请使用它,不要重复它。
"123 456 789 1111".Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries)=>string[4] { "123", "456", "789", "1111" } -
你在我的评论中看不到,但是列之间有多个空格...:“123_456____789_______________111”
-
明白了,这是有道理的。谢谢@BurnsBA
标签: c#