C# 读取文件并根据C中的标志拆分为多个部分#
我有一个文本文件,我想处理和导入。C# 读取文件并根据C中的标志拆分为多个部分#,c#,asp.net,text-files,delimiter,text-processing,C#,Asp.net,Text Files,Delimiter,Text Processing,我有一个文本文件,我想处理和导入。行包含一个团队,其下有与其相关的数据。然后,当另一行包含时,它会重复该过程。我的问题是,是否有办法读取标志(),并在下一个之前将其下的所有数据以字符串形式存储在C#?我想以后一个接一个地处理这个字符串列表。下面的代码可以工作,但我希望保留字符串中的 var teams = file.ReadToEnd().Split(new [] { "< TEAM >" }, StringSplitOptions.RemoveEmptyEntries); &l
行包含一个团队,其下有与其相关的数据。然后,当另一行包含
时,它会重复该过程。我的问题是,是否有办法读取标志(
),并在下一个
之前将其下的所有数据以字符串形式存储在C#?我想以后一个接一个地处理这个字符串列表。下面的代码可以工作,但我希望保留字符串中的var teams = file.ReadToEnd().Split(new [] { "< TEAM >" }, StringSplitOptions.RemoveEmptyEntries);
< TEAM >
NAME ADDRESS CITY STATE COUNTRY ZIP
Spokane Legacy 16U 1111 S Rowan Terrace Lane Spokane Washington US 99206
< COACHES >
DUTY NAME ADDRESS CITY STATE PROVINCE COUNTRY ZIP PHONE EMAIL APPROVAL NUM BBCS APPROVED
< TEAM >
NAME ADDRESS CITY STATE COUNTRY ZIP
Spokane Legacy 16U 1111 S Rowan Terrace Lane Spokane Washington US 99206
< COACHES >
DUTY NAME ADDRESS CITY STATE PROVINCE COUNTRY ZIP PHONE EMAIL APPROVAL NUM BBCS APPROVED
var teams=file.ReadToEnd().Split(新[]{“”},StringSplitOptions.RemoveEmptyEntries);
姓名地址城市州国家邮政编码
斯波坎遗产16U 1111 S美国华盛顿州斯波坎罗文露台巷99206
职务名称地址城市州省国家邮政电话电子邮件批准数量BBCS批准
姓名地址城市州国家邮政编码
斯波坎遗产16U 1111 S美国华盛顿州斯波坎罗文露台巷99206
职务名称地址城市州省国家邮政电话电子邮件批准数量BBCS批准
有点像黑客,但应该可以
string[] splitTeams = teams.Replace("< TEAM >", "|< TEAM >").Split(new [] { '|' }, StringSplitOptions.RemoveEmptyEntries);
string[]splitTeams=teams.Replace(“”,“|”).Split(新[]{'|'},StringSplitOptions.removeMptyEntries);
只要文件中的其他地方没有使用
|
,就可以使用。如果是,那么就用一个唯一的字符或字符串替换它。可能类似,不是很优雅,但是如果
只需要它下面的两行(标题和数据)就可以了
var lines=File.ReadAllLines(“c:\\stackoverflow.txt”);
var结果=行。选择((s,i)=>s.Equals(”)行。跳过(i)。获取(3):null)。其中(x=>x!=null);
返回:
< TEAM >
NAME ADDRESS CITY STATE COUNTRY ZIP
Spokane Legacy 16U 1111 S Rowan Terrace Lane Spokane Washington US 99206
< TEAM >
NAME ADDRESS CITY STATE COUNTRY ZIP
Spokane Legacy 16U 1111 S Rowan Terrace Lane Spokane Washington US 99206
姓名地址城市州国家邮政编码
斯波坎遗产16U 1111 S美国华盛顿州斯波坎罗文露台巷99206
姓名地址城市州国家邮政编码
斯波坎遗产16U 1111 S美国华盛顿州斯波坎罗文露台巷99206
您可以将它添加回团队中的每个项目中。我知道,但我想知道是否有更优雅的东西……哈哈
< TEAM >
NAME ADDRESS CITY STATE COUNTRY ZIP
Spokane Legacy 16U 1111 S Rowan Terrace Lane Spokane Washington US 99206
< TEAM >
NAME ADDRESS CITY STATE COUNTRY ZIP
Spokane Legacy 16U 1111 S Rowan Terrace Lane Spokane Washington US 99206