私は現在、フィルタ処理されたtxtをリストに保存してロードしてtxtファイルをフィルタリングする必要があるプロジェクトで作業しています。現時点ではフィルタは動作していますが、.txtファイルの順序は維持されていません。リスト/ .Txtファイルをフィルタリングする
tryブロックが前に実行されているためにこれが起こっている理由はわかっていますが、私のコードをより効率的にし、必要な行を順番に保存する方法があるのだろうかと思いました彼らは読まれる。
私はパターン変数を1つの変数に保存されている場合、それはまた、より良いかもしれないと思う、しかし、私は、文字列の両方を兼ね備えしようとすると、Regax.Match
が動作しないよう、それらがフォーマットされなければならないかを確認していません。あなたは、送信パターンとを別々のgetパターンを検索するので、あなたの出力が発注されていません述べたように
using System;
using System.Collections.Generic;
using System.IO;
using System.Text.RegularExpressions;
namespace program
{
internal class Program
{
private static void Main(string[] args)
{
var inputFile = File.ReadAllText(@"C:\olive.txt");
Filter(inputFile);
}
public static void Filter(string fileToBeFiltered)
{
var sendList = new List<string>();
Match m;
var sendPattern = @"(SEND.+)";
var getPattern = @"(GET.+)"; //+ "(SEND.+)";
try
{
m = Regex.Match(fileToBeFiltered, getPattern);
while (m.Success)
{
var add = m.Groups[1].ToString();
sendList.Add(add);
m = m.NextMatch();
}
}
catch (RegexMatchTimeoutException)
{
Console.WriteLine("The matching operation timed out.");
}
try
{
m = Regex.Match(fileToBeFiltered, sendPattern);
while (m.Success)
{
var add = m.Groups[1].ToString();
sendList.Add(add);
m = m.NextMatch();
}
}
catch (RegexMatchTimeoutException)
{
Console.WriteLine("The matching operation timed out.");
}
foreach (var value in sendList)
Console.WriteLine(value);
Console.WriteLine();
}
}
}
これはむしろデバッグ目的のためです。改善のためにhttp://codereview.stackexchange.com/を試してみてください –