使用Linq读取带有2种模式的文本文件

Ezi*_*Ezi 0 .net c# linq vb.net text

我需要读这样的文本文件

MyItemName = Description @ MoreInfo
Run Code Online (Sandbox Code Playgroud)

现在我需要将这3个字段转换为表格.使用'='和'@'作为模式.

Bro*_*ass 5

只需拆分=@- 这将返回IEnumerable具有您感兴趣的属性的匿名类:

var items = File.ReadAllLines(fileName)
                .Skip(1) //Skip header
                .Where( line => !string.IsNullOrWhiteSpace(line))
                .Select(line =>
                {
                    var columns = line.Split('=', '@');
                    return new
                    {
                        ItemName = columns[0].Trim(),
                        Description = columns[1].Trim(),
                        MoreInfo = columns[2].Trim()
                    };
                });
Run Code Online (Sandbox Code Playgroud)

这种方法需要将分隔符标记专门用作分隔符- 如果它们确实发生在任何字段中,这将使一切都搞乱并使这种方法无效.