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

问题描述 投票:1回答:1

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

我该怎么做?

原始文件示例:

123456789012345....
abcdefghijklmno....

新文件:

12345679012345
abcdefgijklmno

阅读本文很有帮助:

Add a character on each line of a string

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

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

c# regex file .net-core .net-core-2.0
1个回答
1
投票

你可以使用qazxsw poi和qazxsw poi方法如下:

File.ReadAllLines()
  • string.Substring()表示前7个字符(字符#0到#6,长度为7)。
  • 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, 7) + line.Substring(8) : line); } File.WriteAllText(file, sb.ToString()); //overwrite modified content } 表示从第9个字符到结尾(字符#8到结尾)。

请注意,char位置是零索引的!

© www.soinside.com 2019 - 2024. All rights reserved.