1

ここで問題が発生しました。1行に「メッセージ」が含まれる.txtファイルがあります。これは変更したい行です。しかし、私はこのコードを機能させることができません。誰か助けてくれますか? ここに、文字列を置き換えるためだけに機能するこのコードがありますが、その方法がわからないため、行全体が変更されます。

public void t()
{
   string filename = @"F:\test\test.txt";
   StringBuilder result = new StringBuilder();

   if (System.IO.File.Exists(filename))
   {
       using (StreamReader streamReader = new StreamReader(filename))
       {
           String line;
           while ((line = streamReader.ReadLine()) != null)
           {
              string newLine = String.Concat(line, Environment.NewLine);
              newLine = newLine.Replace("message", "HEJHEJ ");
              result.Append(newLine);
           }
       }
   }

   using (FileStream fileStream = new FileStream(filename, FileMode.Open, FileAccess.ReadWrite))
   {
       StreamWriter streamWriter = new StreamWriter(fileStream);
       streamWriter.Write(result);
       streamWriter.Close();
       fileStream.Close();
   }
}

このコードは「」を「HEJHEJ」に変更していますが、「メッセージ」部分だけでなく、txt-document の行全体を「HEJHEJ」に変更したい

4

2 に答える 2

2

これを変更するのはどうですか:

string newLine = String.Concat(line, Environment.NewLine);
newLine = newLine.Replace("message", "HEJHEJ ");
result.Append(newLine);

これに:

string newLine;
if (line.Contains("message")) {
    newLine = String.Concat("HEJHEJ ", Environment.NewLine);
}
else {
    newLine = String.Concat(line, Environment.NewLine);
}
result.Append(newLine);

もちろん、これを行うためのよりクリーンな方法はたくさんあります。

于 2012-10-31T17:21:33.493 に答える
0

次の行を含むtxtドキュメントがあります。

メッセージ helloworld

あなたのコードでは、この行は次のように変わります:

ヘジェジ

エロワールド

//次のようにしたい:

ヘジェジ

最後に、「メッセージ」を含むテキスト行全体に変更/置換したい

于 2012-11-01T08:40:18.880 に答える