C# 通过搜索crlf(0d0a)对行进行计数
我想根据C# 通过搜索crlf(0d0a)对行进行计数,c#,.net,newline,C#,.net,Newline,我想根据crlf(0D0A)计数来计算文件中的行数。我的当前代码仅根据cr(0D)计算行数。有人能提出建议吗 public static int Countline(string file) { var lineCount = 0; using (var reader = File.OpenText(file)) { while (reader.ReadLine() != null) { lineCount++;
crlf
(0D0A
)计数来计算文件中的行数。我的当前代码仅根据cr
(0D
)计算行数。有人能提出建议吗
public static int Countline(string file)
{
var lineCount = 0;
using (var reader = File.OpenText(file))
{
while (reader.ReadLine() != null)
{
lineCount++;
}
}
return lineCount;
}
用法:
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;
}
方法:
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;
}
注意,我使用的是
Environment.NewLine
作为行尾,但如果愿意,可以替换为整个字符串。可能重复:使用正确的编码将其转换为字节数组。然后查找使用for循环的任何CR LF(0x0D 0x0A)。您可以使用String.Splitfoo.Split(new[]{Environment.NewLine},StringSplitOptions.removemptyentries)代码>不是重复的。most仅搜索/r或/n。我需要一起搜索,而不是分开。这是一个很好的步骤,但有内存限制,因为它首先读取文件中的所有行。我在一个文件中有数千个数据。