猿问

如何在c#中为csv文件的每一行计算分号

我制作了一个控制台应用程序,该应用程序正在使用 linq 读取 csv 文件以将文件的每一行加载到 IEnumerable 中。

var lines = from rawLine in File.ReadLines(readFolderFile, Encoding.Default) where !string.IsNullOrEmpty(rawLine) && !string.IsNullOrEmpty(rawLine.Trim(';')) select rawLine;

现在我需要检查每行与第一行相比有多少分号,如果一行的分号比第一行多,它将被添加到错误列表中。

所以我的问题是有什么简单的方法可以计算每行特定符号的数量?

结果应该是我可以说,在我的源文件继续使用这个应用程序之后,每一行都有相同数量的列。


GCT1015
浏览 121回答 2
2回答

烙印99

请记住,每个字符串都可以这样处理IEnumerable<char>:using System.Linq;..."my;string;from;csv;file".Count(c => c.Equals(';')); // = 4;...

www说

你可以使用这个:int count = source.Count(f => f == ';');其中 source 是字符串变量。所以在你的情况下,它看起来像:foreach (var line in lines){&nbsp; if (line.Count(f => f == ';') != firstLineCount))&nbsp; {&nbsp; &nbsp; //your logic here&nbsp; }}
随时随地看视频慕课网APP
我要回答