我在C#工作,导入数据时遇到了麻烦。
我有一个包含数据的txt文档:
S/1234 001 2583 2 0 3
S/1234 002 4323 2 0 3
S/1234 003 4583 2 0 3
S/2582 001 8745 3 0 4
S/2582 002 8254 3 0 4
S/2582 003 658T 3 0 4
S/2582 004 8785 3 0 4
我在列表中导入了这个文档:
S/1234 2583
S/1234 4323
S/1234 4583
S/2582 8745
S/2582 8254
S/2582 658T
S/2582 8785
代码如下:
string[] lines = System.IO.File.ReadAllLines(@fileLocal);
List<string> whole_line = new List<string>();
List<string> only_first_column = new List<string>();
foreach (string line in lines)
{
string[] linee=line.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
whole_line.Add(linee[0].ToString()+" "+linee[2].ToString());
only_first_column.Add(linee[0].ToString());
}
现在,我的问题是,如何获取数据并将其存储在两个数组/或按值S / 1234和S / 2582列出?
我正在尝试获得阵列#1:
2583 4323 4583
和数组#2:
8745 8254 658T 8785
提前谢谢你:)
答案 0 :(得分:0)
如果您只有这两个值S / 1234和S / 2582,您可以通过简单的方式完成。
string[] lines = System.IO.File.ReadAllLines(@fileLocal);
List<string> s1234 = new List<string>();
List<string> s2582 = new List<string>();
foreach (string line in lines)
{
string[] linee = line.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
if(linee[0].ToString() == "S/1234"){
s1234.Add(linee[2].ToString());
}else{
s2582.Add(linee[2].ToString());
}
}
请记住这是一个非常基本的解决方案,假设您只想处理这两个键,如果您的目标更通用则无法使用
答案 1 :(得分:0)
使用linq:
$=