删除文本文件中每行第 n 个位置的字符

我在文件夹中有多个文本文件。我需要删除文本文件中每行第 8 个字符处的字符。文本文件有 100 多行

我将如何进行?

原始文件示例:

123456789012345....
abcdefghijklmno....

新文件:

12345679012345
abcdefgijklmno

阅读这篇文章很有帮助:

在字符串的每一行添加一个字符

注意:文本行的长度可以是可变的(不确定是否重要 - 一行可以有 20 个字符,下一行可以有 30 个字符,等等。所有文本文件都在文件夹中:C:\TestFolder

类似问题: Insert character at the nth position at each line in a text file


犯罪嫌疑人X
浏览 75回答 1
1回答

HUWWW

您可以使用File.ReadAllLines()和string.Substring()方法如下:string path = @"C:\TestFolder";string charToInsert = " ";string[] allFiles = Directory.GetFiles(path, "*.txt", SearchOption.TopDirectoryOnly); //Directory.EnumerateFilesforeach (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, 7) + line.Substring(8) : line);    }    File.WriteAllText(file, sb.ToString()); //overwrite modified content}line.Substring(0, 7)表示前 7 个字符(字符 #0 到 #6,长度为 7)。line.Substring(8)表示从第 9 个字符到结尾(第 8 个字符到结尾)。请注意,char 位置是零索引的!
打开App,查看更多内容
随时随地看视频慕课网APP