如何解析要比较的带分隔符的文件

本文关键字:文件 分隔符 比较 何解析 | 更新日期: 2023-09-27 18:13:16

有一个文本文件,格式类似于下面的例子,我需要搜索一个学生的班级名称:

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 (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")
        {
           ....
        }
        ....
    }
}