フォルダー内に多数のテキスト ファイル (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"
私は何をすべきか?
フォルダー内に多数のテキスト ファイル (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"
私は何をすべきか?
すべてのファイルを検索して置換_Lat =
し""
、置換Long =
するだけです。""
これには、次の 3 つの手順が含まれます。
フォルダー内のすべてのファイルをループする必要があります。http://msdn.microsoft.com/en-us/library/bb513869.aspxを使用
各ファイルの内容を読み取ります。http://msdn.microsoft.com/en-us/library/vstudio/ezwyzy7b.aspxを使用
ファイルごとに と を探し、_Lat =
にLong =
置き換え""
ます。String.Replaceメソッドを使用します。とがすべてのファイルで一貫しているString.Replace
場合にのみ使用できることに注意してください。私が意味するのは、ファイルの1つにそれがあり、別のファイルにある場合です。スペースに注意してください。一貫性がない場合は、RegEx.Replaceを使用してパターンを探して置き換える必要があります。_Lat =
Long =
Station ABDEHGAH_ Lat = 30 27 Long = 51 2
Station ABDEHGAH_ Lat = 30 27 Long=51 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);
}
このコードが私に投票するのに役立つ場合.