我有一个文本文件,其中包含由换行符分隔的数据行。我要做的是计算文件中的行数,不包括仅是换行符的行数。
我正在尝试使用正则表达式来查看读取的每一行,如果它以换行符开头,则不要将其包含在我的行数中,但我似乎无法让它工作。我到处搜索如何做到这一点,但没有结果。
这是我为尝试执行此操作而编写的方法:
public int LineCounter()
{
StreamReader myRead = new StreamReader(@"C:\TestFiles\test.txt");
int lineCount = 0;
string line;
while ((line = myRead.ReadLine()) != null)
{
string regexExpression = @"^\r?\n";
RegexOptions myOptions = RegexOptions.Multiline;
Match stringMatch = Regex.Match(line, regexExpression, myOptions);
if (stringMatch.Success)
{
}
else
{
lineCount++;
}
}
return lineCount;
}
我尝试在 and 之间更改 RegexOptions Singleline
,Multiline
我尝试将"\r|\n|\r\n"
模式匹配放入我的模式匹配中,并且我尝试^
从表达式中删除 ,但我似乎无法让它工作。无论我做什么,我lineCount
总是最终成为文件中的总行数,包括换行符。
我显然忽略了一些明显的事情,但我对 C# 语言还不够熟悉,无法看出问题所在。一切看起来都应该对我有用。有人可以帮我吗?