我需要一种方法来访问文本文件部分中的列值(用\ t分隔)。
文本文件的各个部分用“ *”分隔。我可以使用下面的简单代码找到这些部分。
var text = File.ReadAllText("PIP_geometries.csv");
var FlowlineSections = text.Split('*');
在每个部分中,有3列带有标题和一些数据行。我想了解这些值。
例如:
*
Name Country
John USA
Jack Russia
Jim USA
*
Name Country
Ross NZ
Moss UK
在后面的代码中,拆分后的整个部分看起来像一个字符串。如何获得“ JIM”的“美国”
答案 0 :(得分:0)
尝试一下 var FlowlineSections = text.Split('*')[1] .Split(vbTab);
答案 1 :(得分:0)
第一次拆分后,第一个字符串应类似于:
Name\tCountry\nJohn\tUSA\nJack\tRussia\nJim\tUSA
因此,您需要按\n
进行拆分以获取每一行,然后针对每一行(如果您不关心标题,则跳过第一行)就需要对其进行拆分由\t
。如何处理这些结果取决于您。您可以将其变成字符串列表,字典或填充您创建的某些对象类型。
答案 2 :(得分:0)
一种实现方法是
var secondsplitter = new [] {"\r\n","\n","\r"};
@"*
Name Country
John USA
Jack Russia
Jim USA
*
Name Country
Ross NZ
Moss UK"
.Split('*')
.Where(x => !String.IsNullOrWhiteSpace(x))
.Select(x => x.Split(secondsplitter,StringSplitOptions.RemoveEmptyEntries))
给出