改行で区切られたデータ行を持つテキストファイルがあります。私がやろうとしているのは、改行だけのものを除いて、ファイル内の行数を数えることです。改行文字のみと一致
私は正規表現を使って各行を読み込んだのですが、行頭に改行文字が含まれていない場合はそれを表示することはできません。私は結果を出さずにこれをどうやって行うのか、全面的に調査しました。
ここで私はこれをしようとするために書いた方法です:
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;
}
私はSingleline
とMultiline
間RegexOptionsを変更しようとしましたが、私は私のパターンマッチに"\r|\n|\r\n"
を入れて試してみたが、私は」 veは式から^
を削除しようとしましたが、動作させることができません。私が何をするにしても、私のlineCount
は常に、改行を含めてファイル内の行の総数になってしまいます。
私は明らかに何かを見落としていますが、何が間違っているかを知るにはまだC#言語に慣れていません。それは私にはうまくいくように見える。誰かが私を助けてくれますか?
private static int LineCounter(string filePath)
{
string[] lines = File.ReadAllLines(filePath);
return lines.Length;
}
をカウントしたい場合 あなたは
String.IsNullOrEmpty(r)
に変更することができます@「^ $ \ rは?\ nは?」' –を私は別のアプローチの@newStackExchangeInstanceで行くことにしましたが、これは私の正規表現を修正しました。ありがとう:) – CurtisFreak