Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何解析要比较的分隔文件_C#_String_Parsing - Fatal编程技术网

C# 如何解析要比较的分隔文件

C# 如何解析要比较的分隔文件,c#,string,parsing,C#,String,Parsing,有一个文本文件的格式与下面的示例类似,我需要搜索学生的类名: Michael | Straham | Eng101(4.0) | Mth303 Jacob | Black | SCI 210 (2.3) | Eng101 Ian | Summers | Mth303(3.30) | Sci 210 分隔符号为(|) 类名是“ENG101,SCI210,MTH303”。我想从文本的每一行中搜索该类名,并以某种方式对它们进行索引,以便进行比较。最终结果将是: ENG101: Michael Str

有一个文本文件的格式与下面的示例类似,我需要搜索学生的类名:

Michael | Straham | Eng101(4.0) | Mth303
Jacob | Black | SCI 210 (2.3) | Eng101
Ian | Summers | Mth303(3.30) | Sci 210
分隔符号为(|)

类名是“ENG101,SCI210,MTH303”。我想从文本的每一行中搜索该类名,并以某种方式对它们进行索引,以便进行比较。最终结果将是:

ENG101:
Michael Straham, Jacob Black

请帮忙。提前谢谢

我假设您已经在逐行阅读输入

您可以使用String.Split()来完成(第一部分)您要做的事情

例如,下面的代码

String s1 = "Michael | Straham | Eng101(4.0) | Mth303";
char[] separators = { '|' };
String[] values = s1.Split(separators);
将为您提供一个由4个字符串组成的数组(“Michael”、“Straham”、“Eng101(4.0)”、“Mth303”)。然后,您可以分析值数组以查看谁在哪个类中。我大概有这样的代码(伪代码):

foreach(输入中的行)
{ 
字符串s1=行;
字符[]分隔符={'|'};
字符串[]值=s1.Split(分隔符);
字符串firstName=值[0];
字符串lastName=值[1];
对于(i=2,i
请发布您尝试过的内容。现在,你似乎只是要求我们为你写下全部内容。你的“结果”与你的数据不匹配。请修复它,这只会导致混乱。@Abe没有真正做任何事情,我不知道如何解析文本。绝对不要求写这一切。我只需要知道如何提取类名,这样我就可以继续工作。使用String.Split(new char{‘})获取字符串数组,每个字符串都是一个分隔字符串。当然,这对输入数据设置了一个约束,即除了定界之外,输入数据中没有任何垂直线。如果你真的需要逃离这些,@SamiHuutoniemi那么这会返回| |内的所有东西吗?如果是这样的话,那就行了!
foreach (line in input)
{ 
    String s1 = line;
    char[] separators = { '|' };
    String[] values = s1.Split(separators);

    String firstName = values[0];
    String lastName = values[1];

    for (i = 2, i < values.length)
    {
        if (values[i] looks like "ENG101")
        {
           add firstName lastName to "ENG101" student list
        }
        else if (values[i] looks like "MTH303")
        {
           ....
        }
        ....
    }
}