1 回答

TA貢獻1831條經(jīng)驗 獲得超4個贊
您不需要在這里使用正則表達式。一種簡單的方法是使用File.ReadAllLines讀取所有行并簡單地將字符添加到所需位置,如以下代碼所示:
var sb = new StringBuilder();
string path = @"E:\test\test.txt"; //input file
string path2 = @"E:\test\test2.txt"; //the output file, could be same as input path to overwrite
string charToInsert = " ";
string[] lines = File.ReadAllLines(path);
foreach (string line in lines)
{
sb.AppendLine(line.Length > 8 ? line.Substring(0, 8) + charToInsert + line.Substring(9) : line);
}
File.WriteAllText(path2, sb.ToString());
在這里我使用不同的輸出路徑進行測試(不要覆蓋輸入)
編輯:
修改后的代碼循環(huán)遍歷文件夾中的所有 .txt 文件:
string path = @"C:\TestFolder";
string charToInsert = " ";
string[] allFiles = Directory.GetFiles(path, "*.txt", SearchOption.TopDirectoryOnly); //Directory.EnumerateFiles
foreach (string file in allFiles)
{
var sb = new StringBuilder();
string[] lines = File.ReadAllLines(file); //input file
foreach (string line in lines)
{
sb.AppendLine(line.Length > 8 ? line.Substring(0, 8) + charToInsert + line.Substring(9) : line);
}
File.WriteAllText(file, sb.ToString()); //overwrite modified content
}
- 1 回答
- 0 關(guān)注
- 101 瀏覽
添加回答
舉報