-6

フォルダー内に多数のテキスト ファイル (1800 ファイル) があり、それらはすべて同じ形式です。彼らは次のように始まります:

"Station ABDEHGAH_ Lat = 30 27 Long = 51 2

1998 1 35050

1998 2 27800

1998 3 39500

1998 4 0"

すべての最初の行を次のように編集したい: "ABDEHGAH 30.27 51.2"

私は何をすべきか?

4

3 に答える 3

2

すべてのファイルを検索して置換_Lat =""、置換Long =するだけです。""これには、次の 3 つの手順が含まれます。

  1. フォルダー内のすべてのファイルをループする必要があります。http://msdn.microsoft.com/en-us/library/bb513869.aspxを使用

  2. 各ファイルの内容を読み取ります。http://msdn.microsoft.com/en-us/library/vstudio/ezwyzy7b.aspxを使用

  3. ファイルごとに と を探し、_Lat =Long = 置き換え""ます。String.Replaceメソッドを使用します。とがすべてのファイルで一貫しているString.Replace場合にのみ使用できることに注意してください。私が意味するのは、ファイルの1つにそれがあり、別のファイルにある場合です。スペースに注意してください。一貫性がない場合は、RegEx.Replaceを使用してパターンを探して置き換える必要があります。_Lat =Long =Station ABDEHGAH_ Lat = 30 27 Long = 51 2Station ABDEHGAH_ Lat = 30 27 Long=51 2

于 2013-06-23T06:31:33.827 に答える
2

このコードは機能します。試してみてください:

string[] files = Directory.GetFiles(@"C:\Users\User\Desktop\AnyFolder");   // You should include System.IO;

foreach (string s in files)
{
    string text = File.ReadAllText(s);
    text = text.Replace("old text", "new text");
    StreamWriter writer = new StreamWriter(s);
    writer.Write(text);
}

このコードが私に投票するのに役立つ場合.

于 2013-06-23T06:55:07.740 に答える