通过搜索crlf计算行数(0d0a)

时间:2016-07-04 07:36:36

标签: c# .net newline

我想根据crlf0D0A)计算来计算文件中的行数。我当前的代码仅根据cr0D)计算行数。任何人都可以提出建议吗?

public static int Countline(string file)
{
    var lineCount = 0;
    using (var reader = File.OpenText(file))
    {
        while (reader.ReadLine() != null)
        {
            lineCount++;
         }
    }
    return lineCount;
}

2 个答案:

答案 0 :(得分:0)

<强>用法:

Countline("text.txt", "\r\n");

方式:

public static int Countline(string file, string lineSeperator)
{
    string text = File.ReadAllText(file);

    return System.Text.RegularExpressions.Regex.Matches(text, lineSeperator).Count;
}

答案 1 :(得分:0)

string content = System.IO.File.ReadAllText( fileName );
int numMatches = content.Select((c, i) => content.Substring(i)).Count(sub => sub.StartsWith(Environment.NewLine));

注意我使用Environment.NewLine表示行结尾,但如果您愿意,可以用整个字符串替换。