如何访问拆分文本文件中的单个字符串

时间:2019-06-19 16:47:27

标签: c# .net parsing text split

我需要一种方法来访问文本文件部分中的列值(用\ 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”的“美国”

3 个答案:

答案 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))

给出

https://www.pointp.fr/p/outillage-quincaillerie/laser-bosch-gll-3-80-c-bm1-plus-l-boxx-ref-0-601-063-r02-A6828433